exclips为什么j创建局java出错_用Eclipse建立jdbc_odbc连接oracle
一. 创建oracle的数据源
我的电脑 --> 控制面板 --> 管理工具 --> 数据源(ODBC)--> 用户DSN,添加 ---> 找到oracle的驱动,点击完成 --> Data source Name: 你的数据源名字,(我的是testsp)
--> TNS service Name: 你的oracle数据库实例,(我的是ORCL)
-->点击Test connection(用于测试是否建立成功)-->完成。
二.使用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. ....
然后就能连接成功。
exclips为什么j创建局java出错_用Eclipse建立jdbc_odbc连接oracle相关推荐
- IntelliJ IDEA for Mac 如何创建普通的Java项目_创建项目_新建项目
文章目录 创建 Java 新项目的流程 普通 Java 项目结构 Java 项目结构特例讲解 创建 Java 新项目的流程 Create New Project Empty Project (1)选择 ...
- python连接oracle数据库_深入理解Python3.6连接Oracle数据库
Python3.6连接Oracle数据库的方法详解 本文实例讲述了Python3.6连接Oracle数据库的方法.分享给大家供大家参考,具体如下: 下载cx_Oracle模块模块: https://p ...
- 我的世界服务器java出错_看懂 游戏《Minecraft》的崩溃报告 服务端/客户端
前言 [WARNING] 本篇适用于Minecraft服务端/客户端报错的诊断分析,其他游戏除外,比如网易 [WARNING] 本篇适用于Minecraft服务端/客户端报错的诊断分析,其他游戏除外, ...
- 远行星号java 出错_游戏崩溃了,求救
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 这是mod 这是log at java.util.Formatter.checkText(Unknown Source) at java.util.For ...
- 远行星号java 出错_按照教程搞了一条新船,但是出错了,求大神看看怎么回事...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 11069 [Thread-5] ERROR com.fs.starfarer.combat.D - java.lang.IllegalArgumentE ...
- devexpress 创建窗口句柄时出错_实验一 线程的创建和撤销
实验内容:编写和调试一个程序,实现Windows系统环境下通过API函数进行线程创建与撤销. 实验目的: (1) 熟悉Windows系统提供的线程创建和撤销系统调用: (2) 掌握Windows系统环 ...
- 远行星号java 出错_打了势力争霸之后就出错了
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 390231 [Thread-4] ERROR com.fs.starfarer.combat.CombatMain - java.lang.NoSuch ...
- 创建pdf java 字体_如何使用自定义字体从servlet使用iText XMLWorker创建PDF?
使用iText / XMLWorker示例(大多数是 this one),我可以轻松编写能够使用我自己的额外字体从HTML代码创建PDF文件的简单应用程序,但是只要尝试在某些Web服务代码中使用我的东 ...
- apk 打包 java出错_一次不成功的apk重新打包经过
我在 https://github.com/qpython-android/qpython3/releases/download/1.0.0/qpython3-app-release-1.0.0.ap ...
最新文章
- [NOI2010]能量采集
- vsftp上传文件出现553 Could not create file解决方法
- 关于pytorch中super的一点思考,结合代码
- 厉害了,关于String的10道经典面试题
- nhibernate事务锁表的问题
- User breakpoint called from code at 0x771064f4
- Python:print用法大全
- php---header函数的示例代码
- 如何使用python提高办公效率-提升Python程序运行效率的6个方法
- 单机塔防游戏推荐_十大塔防单机手游2019 简单好玩的单机塔防游戏推荐
- matlab霍夫曼吗仿真,霍夫曼编译码的Matlab代码实现
- Rasterio入门
- 红帽linux怎么截图,Linux上使用Ksnip截图
- 力扣周赛310场题解
- 内存控制器(以位宽为16的NOR FLASH举例)
- 基于 C# 和 js 开发的程序员升职记 remake 版
- 易灵思FPGA--Programming Mode
- 上海各行政区域地铁站分布数量
- 科技节图像后期处理二等奖作品---陪伴是最长情的告白
- 进行渗透测试的详细检测方法