JAVA通过JDBC连接Oracle数据库详解

(2011-03-15 00:10:03)

转载http://blog.sina.com.cn/s/blog_61da86dd0100q27w.html

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

JAVA通过JDBC连接Oracle数据库详解【转载】的更多相关文章

  1. JAVA采用JDBC连接操作数据库详解

    JDBC连接数据库概述 一.JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供 ...

  2. java中JDBC连接Oracle数据库

    package com.xxxx.lunwen.test;import java.sql.*;public class DBUtil { static { try { // 加载Oracle驱动程序 ...

  3. Java使用JDBC连接Oracle数据库

    import java.sql.Connection; import java.sql.Driver; import java.sql.DriverManager; /** * @author liu ...

  4. jdbc连接oracle数据库

    /*** 通过改变配置文件来连接不同数据库*/package com.xykj.jdbc; import static org.junit.Assert.*; import java.io.Input ...

  5. JDBC连接Oracle数据库的问题

    场景:最近做一个java web项目,使用jdbc连接Oracle数据库,遇到了两个问题. 问题1:jdbc连接不上Ubuntu Oracle服务器? 后来发现这个问题的原因是由于连接字符串写错了,修 ...

  6. JDBC 连接Oracle 数据库,JDBC 连接Mysql 数据库

    首先是JDBC 连接Oracle  数据库 package com.util; import com.pojo.UserInfo; import java.sql.*; public class DB ...

  7. ava基础MySQL存储过程 Java基础 JDBC连接MySQL数据库

    1.MySQL存储过程   1.1.什么是存储过程 带有逻辑的sql语句:带有流程控制语句(if  while)等等 的sql语句   1.2.存储过程的特点 1)执行效率非常快,存储过程是数据库的服 ...

  8. java用JDBC连接MySQL数据库的详细知识点

    想实现java用JDBC连接MySQL数据库.需要有几个准备工作: 1.下载Connector/J的库文件,下载Connector/J的官网地址:http://www.mysql.com/downlo ...

  9. jdbc连接oracle数据库问题

    下面是JDBC连接oracle数据库流程: String dbURL = "jdbc:oracle:thin:@url:1521:service_name"; String use ...

随机推荐

  1. 浅谈HashMap 的底层原理

    本文整理自漫画:什么是HashMap? -小灰的文章 .已获得作者授权. HashMap 是一个用于存储Key-Value 键值对的集合,每一个键值对也叫做Entry.这些个Entry 分散存储在一个 ...

  2. vs显示行号

    1.工具 2.选项 3.文本编辑器 4.C\C++ 5.常规->显示行号

  3. Ethereum IDE

    http://remix.ethereum.org/#optimize=false&version=builtin https://ethereum.github.io/browser-sol ...

  4. python 判断是否是元音字母

    def is_vowel(char): all_vowels = 'aeiou' return char in all_vowels print(is_vowel('c')) print(is_vow ...

  5. Java语言的垃圾回收机制

    java语言从诞生开始,一个吸引人眼球的功能就是垃圾回收,想一想C++中时不时的内存泄漏,当时感觉写java代码直是一种享受呀.     和.NET的引用计数不同,java的垃圾回收机制采取的是有向图 ...

  6. Java回顾之网络通信

    在这篇文章里,我们主要讨论如何使用Java实现网络通信,包括TCP通信.UDP通信.多播以及NIO. TCP连接 TCP的基础是Socket,在TCP连接中,我们会使用ServerSocket和Soc ...

  7. 对于应用之间的调用,如何选择rpc还是mq?

    两个系统之间的调用,是选择rpc呢还是mq,说一下你们系统的选择吧 比如rpc可以是简单的spring httpinvoker,但是前提是都是java应用而且都是用spring framework,可 ...

  8. sshpass使用

    sshpass的使用方法 应用范围:可以在命令行直接使用密码来进行远程连接和远程拉取文件. 使用前提:对于未连接过的主机.而又不输入yes进行确认,需要进行sshd服务的优化: # vim /etc/ ...

  9. WPF特效和例子

    https://www.cnblogs.com/AaronYang/p/4710428.html

  10. Python环境管理--virtualenvwrapper

    遇到问题: 当最近的开发和部署过程中,多个服务器部署的时候发现对于库和包的管理非常混乱,主要有俩个版本问题: 因为业务需要,代码得分别部署在不同的服务器上面,每次部署的时候都得重复的安装包而且不能确定 ...