Java程序 - 错误在更改jre以连接到32位ODBC时执行SQL

时间:2013-06-29 18:04:38

标签: java jdbc jdbc-odbc

我的机器是Windows 7 64位。我在机器上安装了eclipse并且有一个工作正常的java程序。 Java程序读取xml文件并将数据插入Oracle数据库。该程序使用64位jre(通过Run - > Run Configutation - > jre检查)。与db的Java连接是通过ODBC,我在ODBC中创建了DSN名称(C:\ Windows \ System32 \ odbcad32.exe -64 bit)

但是在我们的实际环境中,需要将此程序更改为使用32位ODBC,使用所有32位ODBC连接。
我做了一些关于这个问题的搜索并找到了需要使用32位jre的解决方案,它将指向32位ODBC,因为它有access-bridge-32.jar文件。
现在执行此操作(也在C:\ Windows \ SysWow64 \ odbcad32.exe下创建了DSN)并在运行程序时,在程序中执行任何sql语句时出现以下错误

代码

Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );    
c = DriverManager.getConnection( "jdbc:odbc:"+dsn, username, password );
stmnt = c.createStatement();    

String sqlqry = "SELECT COUNT(*) FROM S_EMPLOYEE WHERE NAME = 'John';";    

ResultSet result = stmnt.executeQuery(sqlqry); 

错误

java.sql.SQLException: General error    
    at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)    
    at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)    
    at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(Unknown Source)    
    at sun.jdbc.odbc.JdbcOdbcStatement.execute(Unknown Source)   
    at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(Unknown Source)   

有人可以建议需要做什么

此查询在数据库端完美运行,并且如果将jre更改为指向64位。

0 个答案:

没有答案