java-oracle--JDBCODBC桥连接错误

java数据库连接(JDBC-ODBC方式)

try{
            //1.加载驱动
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            //2.得到连接
            Connection conn=DriverManager.getConnection("jdbc:odbc:testOracle","scott","tiger");
            Statement sm=conn.createStatement();
            ResultSet rs=sm.executeQuery("select * from emp");

            while(rs.next())
            {   System.out.println("用户名:"+rs.getString(2));}
                rs.close();
            sm.close();
            conn.close();
        }catch(Exception e){
            e.printStackTrace();        
        }

``

java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver解决方法!
.;%JAVA_HOME%\lib;%JAVA_HOME%\jre\lib\rt.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
PATH %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
“`

错误1:
%JAVA_HOME%\jre\lib\rt.jar(不要漏掉这个)
jdk从1.8开始,删除了jdbc-odbc桥,所以odbc的驱动是用不了的,建议重新安装jdk1.7或者更低的版本
Project——Properties——Java Build Path——Libraries
java-oracle--JDBCODBC桥连接错误_第1张图片

java-oracle--JDBCODBC桥连接错误_第2张图片

第二图 打勾处 上升排到如图位置

错误2:java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配

注意:win7 64位配置数据源,控制面板-》管理工具打开数据源(ODBC)会找不到驱动程序,因为是64位操作系统,但是安装的是32位。
需要在路径”C:\Windows\SysWOW64\odbcad32.exe”里打开才行,但是这样打开的是32位的ODBC(SysWOW64是一个windows操作系统的子系统,能够运行32位应用windows操作系统程序)。
修改之后程序还是报同样的错误。JDK也要安装32位的才行,而我安装的是64位的JDK,连接32位ODBC自然出错。然后卸载了64位
(eclipse切换JDK)
http://ehuing.blog.163.com/blog/static/10636299200812441345800/
JDK,安装了32位,数据库连接成功。

你可能感兴趣的:(oracle)