是否可以在带有 h2 或 sybase 数据库的 android 上使用 ormlite?

Posted

技术标签:

【中文标题】是否可以在带有 h2 或 sybase 数据库的 android 上使用 ormlite?【英文标题】:Is it possible to use ormlite on android with a h2 or a sybase database? 【发布时间】:2011-03-17 08:31:23 【问题描述】:

我已经使用 sqlite、h2 和 sybase 数据库在 android 上实现了一个 database-testapp。对于 sqlite,我还实现了 ormlite 接口。现在我很感兴趣是否可以在 android 上使用 ormlite 也可以使用 h2 或 sybase。

【问题讨论】:

【参考方案1】:

我对此表示怀疑,但 H2 的答案似乎是肯定的。我刚刚创建了加载和使用 H2 的 ORMLite HelloAndroid 测试应用程序的 H2 版本。它的加载速度似乎慢了很多,这可能更多地取决于应用程序的大小,因为它必须包含 H2 jar,而不是 H2 与 SQLite 的性能

您可以在这里查看源项目。

http://ormlite.com/docs/android-helloh2

另外,重要的是要记住 JDBC 不是 Android 下认可的代码路径。这似乎现在可以工作(Android 2.1),但保证它会在未来的 Android OS 版本中使用。


我还在 4.16 版的 ORMLite 中添加了 STRING_BYTE 数据库类型,因此您可以将 Unicode 字符串作为 BLOB 存储在数据库中。这允许人们使用 SQLite(和其他不兼容 Unicode 的数据库)来存储 Unicode 字符串。默认情况下它将使用Charset.forName("Unicode"),但您可以指定字符集名称以另一种方式存储它。

【讨论】:

是的,根据我的测试,H2 比 SQLite 慢。专门用于写操作,并且由于类加载。我希望我能在未来改进这一点(我为 H2 编写了 Android 支持)。 你也写了 H2。非常感谢您的贡献托马斯。 H2 一直是我首选的小型/测试数据库引擎。在我开发 ORMLite 的过程中,我到处都在使用它。【参考方案2】:

我自己没有测试过,但我几乎可以肯定H2 会起作用。很可能写操作比 SQLite 慢(根据我的测试大约是它的一半),一些读操作要快一些,有些则更慢。

Sybase Ultralite 12.0.1 does support Android,好像有一个封闭的beta program。此外,可能有一个 Sybase JDBC 驱动程序可以通过 TCP/IP 连接到 Sybase 数据库。不过目前还没有找到。

【讨论】:

【参考方案3】:

http://www.sybase.com/detail?id=1002288

SQL Anywhere Ultra Lite 在安卓上运行。

根据H2 Database vs SQLite on Android h2 也可以在 android 上运行。

【讨论】:

以上是关于是否可以在带有 h2 或 sybase 数据库的 android 上使用 ormlite?的主要内容,如果未能解决你的问题,请参考以下文章

SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase(代码片

异常 SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase]

SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase] 错误

SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase]

SpringBoot 集成测试 Sybase 和 Testcontainers

SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase, Ha