exclips为什么j创建局java出错_用Eclipse建立jdbc_odbc连接oracle

一.  创建oracle的数据源

我的电脑 --> 控制面板 --> 管理工具 --> 数据源(ODBC)--> 用户DSN,添加 ---> 找到oracle的驱动,点击完成 --> Data source Name: 你的数据源名字,(我的是testsp)

-->  TNS service Name: 你的oracle数据库实例,(我的是ORCL)

-->点击Test connection(用于测试是否建立成功)-->完成。

08b5283b08e249f701b159cb63231b4a.png

a27ff628a8ce8e96a3b52fd07f10049b.png

0ef13511a8b6cda9bd7ba8b89af52334.png

二.使用odbc连接oracle

首先,打开Eclipse,建一个java项目Testmyoracle,在项目下建一个包com.sp。

package com.sp;

import java.sql.*;

/**

* 使用odbc连接oracle

* @author HJ

*

*/

public class TestOracle {

public static void main(String[] args) {

try {

//1.加载驱动

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

//2.得到连接

Connection conn = DriverManager.getConnection("jdbc:odbc:Testsp", "scott", "hjhj");

//3.从下面开始和 sql server 一模一样

Statement statement = conn.createStatement();

ResultSet resultSet = statement.executeQuery("select * from emp");

while(resultSet.next()){

//用户名

System.out.println("用户名:" + resultSet.getString(2));

}

resultSet.close();

statement.close();

conn.close();

} catch (Exception e) {

e.printStackTrace();

}

}

}

注:①Class.forName()方法,里面的参数是固定的。

②Connection conn = DriverManager.getConnection("jdbc:odbc:Testsp", "scott", "hjhj");

第一个参数:jdbc:odbc:xxx,其中的xxx是oracle的数据源

第二个参数:scott是oracle的scott表

第三个参数:表的口令(即密码)

三.使用jdbc连接oracle

package com.sp;

import java.sql.*;

/**

* 使用jdbc连接oracle

* @author HJ

*/

public class TestOracle2 {

public static void main(String[] args) {

try {

//1.加载驱动

Class.forName("oracle.jdbc.driver.OracleDriver");

//2.得到连接

Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott", "hjhj");

System.out.println("加载数据库驱动成功!");

//3.从下面开始和 sql server 一模一样

Statement statement = conn.createStatement();

ResultSet resultSet = statement.executeQuery("select * from emp");

while(resultSet.next()){

//用户名

System.out.println("用户名:" + resultSet.getString(2));

}

resultSet.close();

statement.close();

conn.close();

} catch (Exception e) {

System.out.println("加载数据库驱动失败!");

}

}

}

如上两运行成功,会在控制台显示scott的员工名字。

但是,也可能会运行出错,抛异常。

java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver

at java.net.URLClassLoader.findClass(URLClassLoader.java:381)

at java.lang.ClassLoader.loadClass(ClassLoader.java:424)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)

at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Class.java:264)

at com.sp.Testoracle.main(Testoracle.java:16)

这是因为我们没有导入oracle的jdbc包,现在开始导入jdbc包。

在项目名称上右击--->properties --> Java Build Path ---> Libraries --->Add Exterban JARS

然后选择oracle的jdbc目录,选择D:\app\Administrator\product\11.2.0\dbhome_2\oui\jlib下的classes12.jar-------或-------D:\app\Administrator\product\11.2.0\dbhome_2\owb\wf\lib下的 ojdbc14.jar,点击ok。

Oracle驱动classes12.jar 与ojdbc14.jar的区别

简单的说,如果使用jdk1.2和jdk1.3就使用classes12.jar;如果使用的jdk1.4和jdk1.5的,就选用ojdbc14.jar。更加详细的Oracle官方有说明。

以下是Oracle JDBC官方文档的说法:

也就是随便翻译一下就理解了。

JDBC Thin for All Platforms

classes12.jar (1,600,090 bytes) - for use with JDK 1.2 and JDK 1.3

在低级JDK版本1.2与1.3中使用的驱动,虽然实际上在1.4,1.5中使用大部分情况也是OK的

classes12_g.jar (2,044,594 bytes) - same as classes12.jar, except that classes were compiled with "javac -g" and contain some tracing information.

添加了编译调试信息的classes12.jar

classes12dms.jar (1,607,745 bytes) - same as classes12.jar, except that it contains additional code`to support Oracle Dynamic Monitoring Service.

添加了支持Oracle动态检测服务的classes12.jar

classes12dms_g.jar (2,052,968 bytes) - same as classes12dms.jar except that classes were compiled with "javac -g" and contain some tracing information.

添加了支持Oracle动态检测服务与编译调试信息的classes12.jar

ojdbc14.jar (1,545,954 bytes) - classes for use with JDK 1.4 and 1.5

在高级JDK版本1.4与1.5中使用的驱动

下面三个同classes12.jar的情况

ojdbc14_g.jar (1,938,906 bytes) - same as ojdbc14.jar, except that classes were compiled with "javac -g" and contain some tracing information.

ojdbc14dms.jar (1,553,561 bytes) - same as ojdbc14.jar, except that it contains additional code`to support Oracle Dynamic Monitoring Service.

ojdbc14dms_g.jar (1,947,136 bytes) - same as ojdbc14dms.jar, except that classes were compiled with "javac -g" and contain some tracing information.

orai18n.jar (1,645,114 bytes) - NLS classes for use with JDK 1.2, 1.3, 1.4, and 1.5. This jar file replaces the old nls_charset jar/zip files.

ons.jar (48,492 bytes) - for use by the pure Java client-side Oracle Notification Services (ONS) deamon.

demo.tar (604,160 bytes) or demo.zip (529,267 bytes) - contains sample JDBC programs. ....

72394fca891c78c70465c27a709b0bd3.png

de94a35004327213e8995b066c6759f2.png

43c788a18bc1bc6a449e92f3203359d3.png

然后就能连接成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值