Java 具有 SQL 服务器支持的内存数据库
Java In-memory database with SQL Server support
哪些可用的内存数据库最支持 SQL 服务器特定功能?
我一直在尝试使用 H2,但是遇到了一些问题,例如转义列名:在我们所有的 sql 查询中,我们使用(非标准)[FIELDNAME] 而不是 "FIELDNAME". H2 显然不支持这一点。可能还会使用其他非标准功能,所以我想知道是否有人知道以与 SQL 服务器兼容为目标的特定数据库。
为了说明这一点,我使用 maven 和 maven-sql-plugin 在 运行 测试之前创建数据库。
我一直在看
- H2
- HSQL
- 德比
但无法确定哪一个对 SQL 服务器的支持最好,或者是否还有其他可以查看。
我实际上发现H2 有不同的兼容模式,可以在连接字符串中设置。例如:
jdbc:h2:~/test;MODE=MSSQLServer
这似乎解决了我关于转义列名的具体问题。
为了将来参考,可以查看 documentation on compatibility modes 以了解哪些数据库支持哪些功能。
但是 SQL 服务器函数,如 SYSDATETIME() 不 支持。
哪些可用的内存数据库最支持 SQL 服务器特定功能?
我一直在尝试使用 H2,但是遇到了一些问题,例如转义列名:在我们所有的 sql 查询中,我们使用(非标准)[FIELDNAME] 而不是 "FIELDNAME". H2 显然不支持这一点。可能还会使用其他非标准功能,所以我想知道是否有人知道以与 SQL 服务器兼容为目标的特定数据库。
为了说明这一点,我使用 maven 和 maven-sql-plugin 在 运行 测试之前创建数据库。
我一直在看
- H2
- HSQL
- 德比
但无法确定哪一个对 SQL 服务器的支持最好,或者是否还有其他可以查看。
我实际上发现H2 有不同的兼容模式,可以在连接字符串中设置。例如:
jdbc:h2:~/test;MODE=MSSQLServer
这似乎解决了我关于转义列名的具体问题。
为了将来参考,可以查看 documentation on compatibility modes 以了解哪些数据库支持哪些功能。
但是 SQL 服务器函数,如 SYSDATETIME() 不 支持。