gpt4 book ai didi

java - 如何在HyperSQL中支持SqlServer的 ".."?

转载 作者:行者123 更新时间:2023-12-01 15:44:15 27 4
gpt4 key购买 nike

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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com