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

Posted

技术标签:

【中文标题】使用 Java JDBC squirrel-sql 驱动程序连接到 Netezza 失败【英文标题】:Failed connection to Netezza with Java JDBC squirrel-sql driver 【发布时间】:2016-07-14 08:04:52 【问题描述】:

我正在尝试构建一个简单的 java 应用程序,它将使用 Java JDBC 创建到 netezza 服务器的连接

我在googlemaven 存储库以及http://www.java2s.com/ 上找不到org.netezza.Driver 的罐子

所以我尝试使用squirrel-sql

这是我的 pom 文件:

    <dependency>
        <groupId>net.sf.squirrel-sql.plugins</groupId>
        <artifactId>netezza</artifactId>
        <version>3.5.0</version>
    </dependency> 

这是我的代码

public static void main(String[] args) throws Exception 
    Class.forName("net.sourceforge.squirrel_sql.plugins.netezza.NetezzaPlugin");
        System.out.println("Start");
        Connection ct = DriverManager.getConnection("jdbc:netezza://anyname-this-is.server.uk.ibm.com:5480/BACC_PRD_IDM_ACS", "cgclem", "@23634snkln");
        System.out.println("Connected");

此处附上的错误:

    Start
Exception in thread "main" java.sql.SQLException: No suitable driver found for jdbc:netezza://*********************************
    at java.sql.DriverManager.getConnection(DriverManager.java:689)
    at java.sql.DriverManager.getConnection(DriverManager.java:247)
    at com.xxxx.yyy.zzz.ppp.DatabaseProvider.main(DatabaseProvider.java:368)

【问题讨论】:

那个依赖不是JDBC驱动,是Squirrel SQL查询工具的插件。 在哪里可以找到 netezza 的 JDBC 驱动程序? 不知道,你需要谷歌它。要求寻找外部资源是题外话。 连google都没找到 【参考方案1】:

Netezza 是一个商业产品,JDBC 驱动程序(包含在nzjdbc.jar 中)据说在 Internet 上不可用。如果您的公司使用 Netezza 设备,那么您应该能够从公司内部的某个人或从 IBM 获得该驱动程序,前提是您提供了一些证据表明您的公司确实在使用该设备。

一旦您使用了nzjdbc.jar,出于同样的原因,您将不得不手动将其安装到您的 Maven 存储库中。您可以按照其他 SO 帖子中的说明进行操作:https://***.com/a/31531394/5751783

【讨论】:

以上是关于使用 Java JDBC squirrel-sql 驱动程序连接到 Netezza 失败的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 squirrel-sql 连接到 docker 中的 oracle db

在 SQuirrel-sql 中调试 SQL 查询

CentOS-7.2添加桌面快捷方式

SQuirreL 连接phoenix 安装配置

Java_JDBC连接数据库

java使用JDBC