作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
tl;dr: 我正在尝试对一些声明数据库名称的 SqlServer 查询进行单元测试,但它们似乎在 HyperSql 中不起作用。
<小时/>我们在生产中使用 Sql Server,我尝试使用 HyperSQL 作为我的数据库进行单元测试。我正在尝试测试一个创建 SQL 查询的类,因此不能选择删除数据库,因为测试的一部分是由真实数据库解析查询。
查询应该以SELECT * FROM EntAsdfDb007..Data_Table
的形式创建,尽管我们可以根据需要使用架构名称('db')。
根据我对 SqlServer 的 SELECT 格式的理解,它允许您指定数据库名称,后跟架构名称。另外,您可以删除数据库的名称并进行推断。
在 HyperSqlDb 中,我已经能够创建模式“db”并在其中创建必要的表,并且能够在该模式中创建表,但即使在设置后我也无法使用数据库名称进行查询使用 .setDatabaseName()
的数据库名称。我得到的异常(exception)是:
Caused by: org.hsqldb.HsqlException: user lacks privilege or object not found: ENTASDFDB007
需要明确的是:我正在对一个使用诸如 SELECT * FROM EntAsdfDb007..Data_Table
之类的 SQL 的类进行单元测试。我正在尝试设置 HyperSql 实例以进行单元测试,但 HyperSql 似乎拒绝使用所使用的语法。
最佳答案
那是不可能的。
无法更改 HyperSQL 以接受非标准命名方案。
关于java - 如何在HyperSQL中支持SqlServer的 ".."?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7432350/
我是一名优秀的程序员,十分优秀!