Firebird 和 Android JDBC 驱动程序

2024-05-24

火鸟有问题。我从未与 DB 合作过。服务器 firebird 1.5 上的数据库。

  1. 添加库:firebird-full-2.2.4到 libs 文件夹

  2. 将其添加到 Gradle:implementation fileTree('libs')

  3. 将其添加到 MainActivity 中:

    Class.forName("org.firebirdsql.jdbc.FBDriver")
    
    val connection = DriverManager.getConnection(
    "jdbc:firebirdsql://jdbc:firebirdsql:193.###.###.13/3050:Scool",
    "###", "###")
    connection.close()
    
  4. 开始后我有这个:

E/Android运行时:致命 例外:主要 进程:success.kneu,PID:12219 java.lang.NoClassDefFoundError:解析失败:Ljavax/resource/Referenceable; 在 java.lang.Class.classForName(本机方法) 在 java.lang.Class.forName(Class.java:400) 在 java.lang.Class.forName(Class.java:326) 在 success.kneu.LoginActivity$onCreate$1.onClick(LoginActivity.kt:48) 在 android.view.View.performClick(View.java:5647) 在 android.view.View$PerformClick.run(View.java:22465) 在 android.os.Handler.handleCallback(Handler.java:754) 在 android.os.Handler.dispatchMessage(Handler.java:95) 在 android.os.Looper.loop(Looper.java:163) 在 android.app.ActivityThread.main(ActivityThread.java:6238) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:933) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823) 引起原因:java.lang.ClassNotFoundException:javax.resource.Referenceable 在 java.lang.VMClassLoader.findLoadedClass(本机方法) 在 java.lang.ClassLoader.findLoadedClass(ClassLoader.java:742) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:362) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:312) 在 java.lang.Class.classForName(本机方法) 在 java.lang.Class.forName(Class.java:400) 在 java.lang.Class.forName(Class.java:326) 在 success.kneu.LoginActivity$onCreate$1.onClick(LoginActivity.kt:48) 在 android.view.View.performClick(View.java:5647) 在 android.view.View$PerformClick.run(View.java:22465) 在 android.os.Handler.handleCallback(Handler.java:754) 在 android.os.Handler.dispatchMessage(Handler.java:95) 在 android.os.Looper.loop(Looper.java:163) 在 android.app.ActivityThread.main(ActivityThread.java:6238) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:933) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823) 引起原因:java.lang.NoClassDefFoundError:解析失败:Ljavax/naming/Referenceable; 在 java.lang.Class.classForName(本机方法) 在 java.lang.Class.forName(Class.java:400) 在 java.lang.Class.forName(Class.java:326) 在 success.kneu.LoginActivity$onCreate$1.onClick(LoginActivity.kt:48) 在 android.view.View.performClick(View.java:5647) 在 android.view.View$PerformClick.run(View.java:22465) 在 android.os.Handler.handleCallback(Handler.java:754) 在 android.os.Handler.dispatchMessage(Handler.java:95) 在 android.os.Looper.loop(Looper.java:163) 在 android.app.ActivityThread.main(ActivityThread.java:6238) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:933) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823) 导致:java.lang.ClassNotFoundException:在路径上找不到类“javax.naming.Referenceable”:DexPathList[[zip 文件 “/data/app/success.kneu-1/base.apk”,zip 文件 “/data/app/success.kneu-1/split_lib_dependency_apk.apk”,zip 文件 “/data/app/success.kneu-1/split_lib_slice_0_apk.apk”,zip 文件 “/data/app/success.kneu-1/split_lib_slice_1_apk.apk”,zip 文件 “/data/app/success.kneu-1/split_lib_slice_2_apk.apk”,zip 文件 “/data/app/success.kneu-1/split_lib_slice_3_apk.apk”,zip 文件 “/data/app/success.kneu-1/split_lib_slice_4_apk.apk”,zip 文件 “/data/app/success.kneu-1/split_lib_slice_5_apk.apk”,zip 文件 “/data/app/success.kneu-1/split_lib_slice_6_apk.apk”,zip 文件 “/data/app/success.kneu-1/split_lib_slice_7_apk.apk”,zip 文件 “/data/app/success.kneu-1/split_lib_slice_8_apk.apk”,zip 文件 “/data/app/success.kneu-1/split_lib_slice_9_apk.apk”],nativeLibraryDirectories=[/data/app/success.kneu-1/lib/arm64, /系统/lib64,/供应商/lib64]] 在 dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:380) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:312) 在 java.lang.Class.classForName(本机方法) 在 java.lang.Class.forName(Class.java:400) 在 java.lang.Class.forName(Class.java:326) 在 success.kneu.LoginActivity$onCreate$1.onClick(LoginActivity.kt:48) 在 android.view.View.performClick(View.java:5647) 在 android.view.View$PerformClick.run(View.java:22465) 在 android.os.Handler.handleCallback(Handler.java:754) 在 android.os.Handler.dispatchMessage(Handler.java:95) 在 android.os.Looper.loop(Looper.java:163) 在 android.app.ActivityThread.main(ActivityThread.java:6238) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:933) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823) 2019-07-14 17:37:03.815 12219-12219/? I/Process:发送信号。 PID: 12219 SIG:9


Firebird JDBC 驱动程序 Jaybird 无法在 Android 上运行。有一个Jaybird 的 Android 端口 https://sourceforge.net/projects/androidjaybird/,但它不是由 Jaybird 团队维护的。

该错误本身表明加载时出现问题connector-api因为缺少 JNDI 类,例如javax.naming.Referenceable在安卓中。这表明您正在尝试使用普通的 Jaybird,而不是 Jaybird 的 Android 端口。

尝试将您的 Jaybird 依赖项替换为来自 Android 端口的依赖项。

但请注意,通常您不应该使用 JDBC 驱动程序从 Android 连接到数据库。也可以看看Android 的 JDBC 与 Web 服务 https://stackoverflow.com/questions/15853367/jdbc-vs-web-service-for-android.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Firebird 和 Android JDBC 驱动程序 的相关文章

  • readLine() 只读取控制台中的第二个输入

    我刚刚开始使用 Kotlin 所以如果这是一个愚蠢的问题 我认为这可能是 我深表歉意 我正在跟进this https kotlinlang org docs tutorials jvm get started html指南 但遇到了一个问题
  • gradle更新后无法找到方法(无法编译项目)

    我尝试将项目中的 gradle 版本更新为 4 1 milestone 1 以下这些说明 https developer android com studio build gradle plugin 3 0 0 migration html
  • 如何自定义菜单项的背景颜色?

    我正在尝试定制Toolbar的弹出菜单 现在我无法设置菜单项的背景颜色 我的 styles xml 如下所示
  • Cheesesquare:enterAlways 会产生错误的布局

    Adding enterAlways到 Cheesesquare 演示的滚动标志
  • 如何在android中显示保存在sdcard文件夹中的图像[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 当我正在显
  • AdapterContextMenuInfo 始终为 null

    我尝试通过 android 开发文档中的书来做到这一点 this didn t create a menu i don t know why registerForContextMenu getListView setListAdapter
  • Dialog.setTitle 不显示标题

    我正在尝试向我的对话框添加自定义标题 但是每当我运行我的应用程序时 它都不会显示标题 我创建对话框的代码是 final Dialog passwordDialog new Dialog this passwordDialog setCont
  • ExoPlayer2 - 如何使 HTTP 301 重定向工作?

    我开始使用 ExoPlayer 来传输一些音频 一切都很顺利 直到我遇到一个带有 301 永久移动 重定向的 URL ExoPlayer2 默认情况下不处理该问题 我已经看过这个线程 https github com google ExoP
  • Android 深度链接至 Instagram 应用

    Instagram 已经发布了 iOS 深层链接的 url 方案 但尚未为 Android 创建文档 有没有办法深入链接到 Android 上的 Instagram 应用程序 以转到 Instagram 应用程序中的特定位置 例如 Inst
  • 如何在谷歌地图android上显示多个标记

    我想在谷歌地图android上显示带有多个标记的位置 问题是当我运行我的应用程序时 它只显示一个位置 标记 这是我的代码 public class koordinatTask extends AsyncTask
  • 使用片段时应用程序崩溃

    我正在处理碎片和 我的代码中有一个我找不到的问题 logcat 指向我的一个片段中的这段代码 Override public View onCreateView LayoutInflater inflater ViewGroup conta
  • okhttp 获取失败响应

    我已经在我的 android 客户端中实现了 okhttp 来进行网络调用 当我收到失败响应时 我会收到失败代码以及与该代码相关的文本作为消息 但我没有收到服务器发送给我的自定义失败响应 在我实施的代码中的失败响应中 我收到的消息只是 错误
  • logcat 中 mSecurityInputMethodService 为 null

    我写了一点android应显示智能手机当前位置 最后已知位置 的应用程序 尽管我复制了示例代码 并尝试了其他几种解决方案 但似乎每次都有相同的错误 我的应用程序由一个按钮组成 按下按钮应该log经度和纬度 但仅对数 mSecurityInp
  • 我应该释放或重置 MediaPlayer 吗?

    我有自己的自定义适配器类 称为 WordAdapter 并且我正在使用媒体播放器 名为pronounce WordAdapter 类中的全局变量 我有不同的活动 其中每个列表项都有线性布局 名为linearLayout 我正在设置onCli
  • OnLongClickListener 不工作

    我有一个ImageView 我需要使用onLongClickListener对于图像视图 当我使用这段代码时 什么也没有发生 Code gallery Gallery findViewById R id gall1 gallery setA
  • 在 Samsung Galaxy S5 Android 5.0 上使用 MediaPlayer 加载音频流需要超过 10 秒

    由于更新至 Android 5 0 MediaPlayer 在 Samsung Galaxy S5 上无法正常工作 启动音频流后加载时间超过 10 秒 示例代码 MediaPlayer mPlayer new MediaPlayer Str
  • Android - 以编程方式选择菜单选项

    有没有办法以编程方式选择菜单选项 基本上 我希望视图中的按钮能够执行与按特定菜单选项相同的操作 我正在考虑尝试调用 onOptionsItemSelected MenuItem item 但我不知道要为菜单项添加什么 是的 有一种方法可以选
  • 找不到符号 NOTIFICATION_SERVICE?

    package com test app import android app Notification import android app NotificationManager import android app PendingIn
  • Android:如何从网络异步获取搜索建议?

    我创建了一个可搜索的活动 现在 我想添加从网络服务获取的搜索建议 我想异步获取这些建议 根据添加自定义建议 http developer android com guide topics search adding custom sugge
  • 如何使用 AccessibilityService 在 Android 中模拟按键

    我正在编写一个辅助服务 我一直在尝试在应用程序上进行一些自动搜索 我使用accessibilityservice action paste来填充EditText 然后我需要模拟软键盘上的按键 但我不知道如何做 你们能帮我一下吗 你可以尝试A

随机推荐

  • 从画布保存/转换后文件质量下降的问题

    这是我正在使用的代码 代码位于这篇文章的底部 但这里是链接GitHubGist Noitidart ff addon snippet browseForBadgeThenCreateSaveAnApply js https gist git
  • 将公历日期转换为儒略日期,然后再转换回来(随着时间)

    我正在编写一个程序 必须将当前的公历日期和时间转换为儒略日期 然后再转换回公历门 最终我需要添加能够添加年 月 日 小时 分钟和秒的功能 但我需要先解决这部分问题 现在我已经从公历日期转换为儒略日期 所以从逻辑上讲 我觉得我应该能够以某种方
  • Facebook服务器端登录、CORS

    我正在实现一个带有 FB 服务器端登录的网站 简化步骤如下 一个简单的按钮触发 JS 脚本 该脚本调用我的后端 APIhttps localhost fblogin function sendFbLoginData get https lo
  • 如何在多租户设置中生成 firebase 自定义令牌

    我一直在尝试向我的应用程序添加对多租户的支持 我像这样初始化 const app firebase initializeApp const tenantManager app auth tenantManager const tenant
  • React 功能组件:作为函数调用与作为组件调用

    假设我有一个功能组件 const Foo props gt div props name div 直接作为函数调用有什么区别 const fooParent gt div Foo name foo div 与将其称为组件相比 const f
  • perl 和 java 正则表达式功能之间有什么区别?

    perl 和 java 在支持哪些正则表达式术语方面有什么区别 这个问题仅涉及正则表达式 并且特别排除了how可以使用正则表达式 即使用正则表达式的可用函数 方法 以及语言之间的语法差异 例如java要求转义反斜杠等 特别令人感兴趣的是 j
  • 使用 ECMA 脚本向节点(页面)添加新属性

    我需要在页面激活时向页面添加属性 我决定建立一个工作流程 在激活步骤之前执行相同的操作 我的自定义工作流程步骤 激活步骤之前的步骤 使用 ECMA 脚本来实现此目的 这是我到目前为止所拥有的 var workflowData granite
  • 我可以阻止history.popstate在初始页面加载时触发吗?

    我正在开发一个通过 AJAX 提供内容的网站 如果您单击菜单中的某个项目 内容 div 会更新为 get回应 没什么花哨的 我正在实施history pushState允许使用浏览器的后退 前进按钮进行导航 我有以下内容可以在历史导航上加载
  • 名称属性的 CSS 选择器?

    这可能是一个愚蠢的问题 但是属性的 CSS 选择器是什么 a 那是 名字 document body innerHTML myString anchor HTML String 这段 JavaScript 创建了一个 a 带有名称的元素 H
  • 合理的分析事件 API - 防止操纵

    根据合理的分析文档 https plausible io docs events api 您可以向 events api记录页面浏览量的端点 我是自托管的 Plausible 并且令我惊讶的是 我可以使用 Postman 使用一些虚拟数据简
  • 从子视图导航控制器访问顶部导航控制器

    我有一个像这样设置的视图和控制器 标签 栏控制器 1 内是根视图控制器 2 内是一个以编程方式创建的导航控制器 它在根视图控制器中显示为子视图 我想做的是访问顶部选项卡栏 导航控制器 以便我可以将视图推送到上面 我尝试了parentView
  • 平滑手绘曲线

    我有一个允许用户绘制曲线的程序 但这些曲线看起来不太好 它们看起来摇摇欲坠 而且是手绘的 所以我想要一种能够自动平滑它们的算法 我知道平滑过程中存在固有的模糊性 因此它不会每次都完美 但这种算法似乎确实存在于多个绘图包中 并且它们工作得很好
  • 通过updateTable创建多个GSI

    我在用着更新表 http docs aws amazon com AWSJavaScriptSDK latest AWS DynamoDB html updateTable property根据 DynmaoDB 的规定 根据文档 如果我们
  • 无法绑定到“属性 X”,因为它不是“子组件”的已知属性

    在我的项目中 我有一个通用类和一些从该类继承的其他组件 BaseRdnInput ts Injectable export abstract class BaseRdnInput implements ControlValueAccesso
  • 如何使用 aerospike 加载器在 aerospike 中加载嵌套的 csv 文件?

    我已将 JSON 文件转换为 CSV 格式 现在使用 aerospike 加载器将 CSV 加载到 Aerospike 中 我可以为简单的结构执行此操作 但如何修改 allDatatype json 的内容以在 Aerospike 中加载嵌
  • 在java中是否可以使用反射创建没有无参数构造函数的“空白”类实例?

    我有一个没有默认构造函数的类 我需要一种方法来获取此类的 空白 实例 空白 意味着实例化后所有类字段都应具有默认值 如 null 0 等 我问这个问题是因为我需要能够序列化 反序列化大对象树 而且我无法访问该对象类的源 并且类既没有默认构造
  • 最新 .Net MongoDb.Driver 的连接问题

    我创建了一个 MongoLab 沙箱数据库 我与 MongoChef 连接 效果很好 我通过 Nuget 安装了 MongoDB Driver 2 2 2 我编写了一些简单的 C 演示代码 但就是无法使其工作 连接字符串是直接从 Mongo
  • 为什么 html 中的 AngularJS 错误没有显示在控制台中?

    Here s a fiddle http jsfiddle net 6y7odxmj 3 用于说明 当 ng click 指令 例如 调用未在控制器的 scope 或其父级 上定义的函数时 它会默默地失败 当我尝试调试网页时 这种行为令人抓
  • CSS3 属性 webkit-overflow-scrolling:touch 错误

    iOS 5 发布了网页设计师的新属性 webkit overflow scrolling touch它使用 iOS 设备硬件加速器为可滚动 div 提供本机滚动 当在我们的开发网站上实施时 它确实有效 但效果不佳 我相信可能存在 CSS 问
  • Firebird 和 Android JDBC 驱动程序

    火鸟有问题 我从未与 DB 合作过 服务器 firebird 1 5 上的数据库 添加库 firebird full 2 2 4到 libs 文件夹 将其添加到 Gradle implementation fileTree libs 将其添