sql server语言 - Java NetBeans JDBC连接工作在调试,而不是在运行



我正在构建一个小的内部工具(非生产代码),从我们的MS SQL数据库中获取一些东西。我想尝试一下NetBeans 6.9.1,所以我正在使用它。

我有这个功能连接到DB,我有FAND_DEV设置为SQL本地客户端的系统DSN。

private static Connection GetConnection() {
            Connection conn = null;
        try {            
            conn = DriverManager.getConnection("jdbc:odbc:FAND_DEV");
        } catch (SQLException ex) {
            Logger.getLogger(DAL.class.getName()).log(Level.SEVERE, null, ex);
        }
        return conn;
}

当我在调试模式下执行代码时,一切都工作得很好。我正在从数据库中获得预期的数据,没有问题。

然而,当我尝试运行(在NetBeans中运行主项目)时,它会在DB连接上抛出异常。如有任何帮助,我将不胜感激。

java.sql.SQLException: [Microsoft][ODBC Driver Manager] Invalid string or buffer length
        at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957)
        at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)
        at sun.jdbc.odbc.JdbcOdbc.SQLGetDataString(JdbcOdbc.java:3907)
        at sun.jdbc.odbc.JdbcOdbcResultSet.getDataString(JdbcOdbcResultSet.java:5698)
        at sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:354)
        at sun.jdbc.odbc.JdbcOdbcConnection.buildTypeInfo(JdbcOdbcConnection.java:1503)
        at sun.jdbc.odbc.JdbcOdbcConnection.initialize(JdbcOdbcConnection.java:381)
        at sun.jdbc.odbc.JdbcOdbcDriver.connect(JdbcOdbcDriver.java:174)
        at java.sql.DriverManager.getConnection(DriverManager.java:582)
        at java.sql.DriverManager.getConnection(DriverManager.java:207)
        at gosDbCopy.db.DAL.GetConnection(DAL.java:53)

使用MS SQL,您应该能够使用JDBC而不是使用JDBC- odbc桥接。原因可能与此有关。原因可能还在于您要返回的数据类型。这似乎是一个例子。

相关内容

  • 没有找到相关文章

最新更新