"未找到数据库"尝试使用JDBC连接到Hana时出错

时间:2018-02-09 16:04:24

标签: hana

这很好用:

GRANT SELECT ON SCHEMA DB1 TO USER1;

但是当我尝试在SQuirreL中连接指定数据库时:

enter image description here

我收到以下错误:

  

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中指定数据库。问题是什么以及如何解决?

2 个答案:

答案 0 :(得分:1)

数据库和架构是实例或租户上的两个不同对象。

在数据库中,数据库用户拥有自己的对象,这些对象包含在Schema中 因此,每个数据库用户都可以拥有单独的架构。 Schema对象主要用于安全性。 与示例代码一样,您在DB1模式中的对象上向用户USER1授予或允许SELECT命令。 (因此USER1可以查询用户DB1的对象)

在您与我们共享的数据库连接中,您需要提供数据库名称,而不是架构用户。

您可以使用系统>在SAP GUI上找到数据库名称。状态菜单选项。 您将看到数据库数据部分。使用" 名称"中的值文本框。

通常,每个连接用户都映射到默认数据库用户(因此映射到数据库上的默认架构)

答案 1 :(得分:0)

而不是databaseName,请使用currentSchema

  "jdbc:sap://10.194.19.20:39013?currentSchema=DB1"