这很好用:
GRANT SELECT ON SCHEMA DB1 TO USER1;
但是当我尝试在SQuirreL中连接指定数据库时:
我收到以下错误:
class com.sap.db.jdbc.exceptions.JDBCDriverException:SAP DBTech JDBC: 无法连接到jdbc:sap://10.194.19.20:39013 / [SAP DBTech JDBC: [2]:一般错误:数据库' DB1'不存在]。
如果我在没有指定数据库的情况下尝试连接,它可以正常工作,我可以在DB1上运行选择没有问题。但是我需要连接到Hana,在URL中指定数据库。问题是什么以及如何解决?
答案 0 :(得分:1)
数据库和架构是实例或租户上的两个不同对象。
在数据库中,数据库用户拥有自己的对象,这些对象包含在Schema中 因此,每个数据库用户都可以拥有单独的架构。 Schema对象主要用于安全性。 与示例代码一样,您在DB1模式中的对象上向用户USER1授予或允许SELECT命令。 (因此USER1可以查询用户DB1的对象)
在您与我们共享的数据库连接中,您需要提供数据库名称,而不是架构用户。
您可以使用系统>在SAP GUI上找到数据库名称。状态菜单选项。 您将看到数据库数据部分。使用" 名称"中的值文本框。
通常,每个连接用户都映射到默认数据库用户(因此映射到数据库上的默认架构)
答案 1 :(得分:0)
而不是databaseName
,请使用currentSchema
"jdbc:sap://10.194.19.20:39013?currentSchema=DB1"