sybase java 数据库连接问题

sybase java DB connection issue

我想在 java 应用程序中创建 sybase 数据库连接。 我已经将 jconn4.jar 添加到我的项目中,但是当我在代码中连接到数据库时出现异常 ClassNotFoundException: com.sybase.jdbc4.jdbc.SybDriver。 我的联系人:

SqlConnect() {
    try {
        DriverManager.registerDriver(new com.sybase.jdbc4.jdbc.SybDriver());
    } catch (SQLException e) {
        System.err.println("SQL exception  " + e.getMessage());
    }
}

还有

public void connect() {
        try {
            connection = DriverManager.getConnection("jdbc:sybase:Tds:localhost:5000", "DBA", "sql");
            connection.setAutoCommit(false);
        } catch (SQLException e) {

        }
    }

我想连接到演示 PowerBuilder 数据库,参数为:

DSN=EAS Demo DB V125;UID=dba;PWD=sql

我做错了什么? 已添加 此外,当我尝试通过 intelij 数据库工作插件创建数据库连接时,我也有同样的错误。

确保您的类路径中包含受尊重的 jar。 以下对我有用:

使用Class.forname加载驱动程序

推荐方法:

Class.forName("sybase.jdbc.sqlanywhere.IDriver")
con = DriverManager.getConnection("jdbc:sqlanywhere:uid=DBA;pwd=sql");

另一种方式:

DriverManager.registerDriver((Driver) Class.forName("sybase.jdbc.sqlanywhere.IDriver").newInstance());
con = DriverManager.getConnection("jdbc:sqlanywhere:uid=DBA;pwd=sql");

以下link将帮助您安装驱动程序: How to connect Sybase database using Java code in NetBeans?

所以,另一个 jdbc 类型的驱动程序解决了我的问题 - 我连接了 sajdbcX 驱动程序并更改了连接字符串:

connection = DriverManager.getConnection("jdbc:sqlanywhere:uid=DBA;pwd=sql");

所以,也感谢 Mark Rotteveel 的建议 - 我删除了驱动程序注册码作为冗余。 并感谢大家的想法。