解决JAVA通过JDBC连接Oracle数据库出现的问题

来源:互联网 发布:校园网络拓扑结构图 编辑:程序博客网 时间:2024/04/30 03:02

Java连接Oracle步骤:

1.注册加载驱动

驱动名:DRIVER="oracle.jdbc.driver.OracleDriver";
Class.forName("驱动类名");

2.获得连接

数据库地址: URL="jdbc:oracle:thin:@127.0.0.1:1521:ORCL";
Connection conn = DriverManager.getConnection(数据库地址,用户名,密码);
System.out.println("连接成功");

3.进行对数据库的操作

4.依次关闭连接
conn.close();

值得注意的是:

1.在此过程中需要加载连接Oracle的驱动class12.jar
2、将此jar包复制到java项目中,并且添加到“构建路径”。
3、展开jar包,找到驱动类的名称,并复制:oracle.jdbc.driver.OracleDriver
4、数据库根据固定格式写:jdbc:oracle:thin:@数据库IP地址:1521:全局数据库名
说明:
jdbc:oracle:thin:表示协议,相当于上网用的“http:”。
数据库IP地址:用ipconfig可以查到。目前教师机查到的是:192.168.1.199。
1521:Oracle数据库的端口,通常不用修改。
全局数据库名:通常在安装时指定,默认为:orcl。
即在程序中书写的地址为:jdbc:oracle:thin:@192.168.1.199:1521:orcl
6、启动时报错:Io 异常: The Network Adapter could not establish the connection
分析一:
·要连接到数据库,首先要保证Oracle服务要启动。所以先启动:OracleServiceORCL。
·注意,客户端编写java的电脑,不需要启动本机的任何Oracle服务。
运行,相同的错误仍然存在。
分析二:
·要访问所有的网络程序,网络程序都必须运行一个在某个端口监听的程序。java程序要连接到Oracle,必须先连接到监听器。对Oracle来讲,这就是监听服务:OracleoracleTNSListener。Oracle10G的监听服务名称不同,但仍然是以“TNSListener”结尾的名称。
7、如果监听服务能够正常启动,则java程序也可以连接到Oracle数据库了。

常见问题:启动监听服务报错,或者启动以后没有报错,但是单击“刷新”发现实际上并没有启动。如何解决?
分析:
Oracle的监听器的信息对应的IP地址不正确,必须将这个IP地址改为本机的IP地址。
步骤:
·找到Oracle的菜单,再找到“net manager”程序→Oracle NET配置→本地→监听程序→将“主机”右边的文本框修改为本机的IP地址
·最后一定要保存修改,步骤:单击菜单“文件”→“保存”网络配置。
·再次启动Oracle监听服务,并刷新,看是否启动成功。
·如果监听服务启动成功,则jdbc在正常情况下也能够连接到Oracle了。

·作为经验,如果出现了“ TNS:listener does not currently know of SID given in connect descriptor”。则只需要再将OracleServiceORCL服务重新启动一下。
·作为经验,如果使用“localhost”连接不上,则使用本机实际的IP地址,通过ipconfig得到。
最后,应该先启动Oracle监听器,再启动Oracle服务。
 

附:端口的理解及常用端口号

端口号:我。同理,为了区别服务器上每个网络监听程序,每个监听器都要分配一个唯一的端口号。端口号,相当于就是“网络程序的身份ID”。

常用端口号:SQLServer:1433;Oracle:1521,Web服务器:80( http://g.cn,其实是http://g.cn:80/),Tomcat:8080

1 0
原创粉丝点击