在 JDBC URL 中为 Netezza 指定数据库

Posted

技术标签:

【中文标题】在 JDBC URL 中为 Netezza 指定数据库【英文标题】:Specifying a database in JDBC URL for Netezza 【发布时间】:2018-10-12 02:55:07 【问题描述】:

连接到Netezza via JDBC 时,URL 中的数据库是必填字段 - 例如。示例 URL jdbc:netezza://main:5490/sales;user=admin;password=password 中的值 sales

第一次连接到 Netezza 实例时,我(必然)不知道设备上数据库的名称。猜测数据库名称是一项非常耗时的工作。

在这种情况下,我应该提供什么价值?是否有“使用默认”选项、列出数据库的方式或始终有效的特定数据库名称(例如系统数据库)?

【问题讨论】:

【参考方案1】:

Netezza 将始终拥有一个主数据库:system。 您不能删除系统数据库。 我建议你连接到jdbc:netezza://hostname:5480/system

连接后,您可以列出用户有权访问的数据库,使用

select database
from _v_database;

【讨论】:

【参考方案2】:

我无法确切回答,但似乎每个 Netezza 设备默认都有一个名为 TESTDB 的数据库。至少对于我可以访问的所有设备都是如此。

用户或管理员可能能够删除此数据库,但如果您需要连接的数据库,这是一个不错的选择。

【讨论】:

以上是关于在 JDBC URL 中为 Netezza 指定数据库的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Netezza 上执行 executeBatch() - JDBC

java.sql.SQLException:无法在 IntelliJ Web 应用程序中为连接 URL 'null' 创建类 '' 的 JDBC 驱动程序

Python 到 Netezza JDBC 连接在 Mac 上给出 SQL .execute 错误

DISTRIBUTE 子句的 Netezza JDBC 元数据信息

使用 RJDBC 连接 R 和 Netezza

使用 Java JDBC squirrel-sql 驱动程序连接到 Netezza 失败