JAVA通过JDBC连接Oracle数据库详解
(2011-03-15 00:10:03)
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数据库详解【转载】的更多相关文章
-
JAVA采用JDBC连接操作数据库详解
JDBC连接数据库概述 一.JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供 ...
-
java中JDBC连接Oracle数据库
package com.xxxx.lunwen.test;import java.sql.*;public class DBUtil { static { try { // 加载Oracle驱动程序 ...
-
Java使用JDBC连接Oracle数据库
import java.sql.Connection; import java.sql.Driver; import java.sql.DriverManager; /** * @author liu ...
-
jdbc连接oracle数据库
/*** 通过改变配置文件来连接不同数据库*/package com.xykj.jdbc; import static org.junit.Assert.*; import java.io.Input ...
-
JDBC连接Oracle数据库的问题
场景:最近做一个java web项目,使用jdbc连接Oracle数据库,遇到了两个问题. 问题1:jdbc连接不上Ubuntu Oracle服务器? 后来发现这个问题的原因是由于连接字符串写错了,修 ...
-
JDBC 连接Oracle 数据库,JDBC 连接Mysql 数据库
首先是JDBC 连接Oracle 数据库 package com.util; import com.pojo.UserInfo; import java.sql.*; public class DB ...
-
ava基础MySQL存储过程 Java基础 JDBC连接MySQL数据库
1.MySQL存储过程 1.1.什么是存储过程 带有逻辑的sql语句:带有流程控制语句(if while)等等 的sql语句 1.2.存储过程的特点 1)执行效率非常快,存储过程是数据库的服 ...
-
java用JDBC连接MySQL数据库的详细知识点
想实现java用JDBC连接MySQL数据库.需要有几个准备工作: 1.下载Connector/J的库文件,下载Connector/J的官网地址:http://www.mysql.com/downlo ...
-
jdbc连接oracle数据库问题
下面是JDBC连接oracle数据库流程: String dbURL = "jdbc:oracle:thin:@url:1521:service_name"; String use ...
随机推荐
-
Unity3D 2D游戏中寻径算法的一些解决思路
需求 unity3d的3d开发环境中,原生自带了Navigation的组件,可以很便捷快速的实现寻路功能.但是在原生的2d中并没有相同的功能. 现在国内很多手机游戏都有自动寻路的功能,或者游戏中存在一 ...
-
防火墙没关导致 ORA-12541: TNS: 无监听程序
电脑用着用着突然Oracle就报出下面的错误,按照网上的办法搞了几个小时都没有搞好. Oracle重装了好几次也没用,实在没办法又花了个多小时装了个虚机,结果也是同样的错误. 于是恍然大悟,可能是物理 ...
-
postman安装使用教程---图文讲解
一.安装postman 1,安装包安装 官网下载地址:https://www.getpostman.com 选择好对应的版本下载,下载完后直接安装 2,插件包安装 可以在谷歌的应用商店里面找到,或者在 ...
-
npm5踩过的坑!
1. 版本问题导致环境问题 我们第一次npm install时是根据package.json来安装相关依赖的,但是它里面的版本不固定,因此默认会根据最高的版本来安装相关依赖,但是在npm5是根据pac ...
-
Navicat for MySQL连接mysql数据库时提示错误:Can't connect to MySQL server (10060)
导致些问题可能有以下几个原因: 1.网络不通: 2.服务未启动: 3.防火墙端口未开放: a)首先确认mysql配置正确,并正确开启 service mysqld start; 设置mysql远程连接 ...
-
tensorflow 笔记12:函数区别:placeholder,variable,get_variable,参数共享
一.函数意义: 1.tf.Variable() 变量 W = tf.Variable(<initial-value>, name=<optional-name>) 用于生成一个 ...
-
activiti工作流
画图->定义监听事件->给任务赋值->部署(zip部署.文件部署)->使用
-
(转)java并发编程--Executor框架
本文转自https://www.cnblogs.com/MOBIN/p/5436482.html java并发编程--Executor框架 只要用到线程,就可以使用executor.,在开发中如果需要 ...
-
CSS 学习路线(一)元素
元素(element) 类型:替换和非替换元素 替换元素(replaced element): 用来替换元素内容的部分并非由文档内容直接显示. eg:img input 非替换元素(nonreplac ...
-
c++ 分配与释放内存
教学内容: calloc分配内存 calloc与malloc的区别 memset函数初始化内存 free释放动态分配的内存 一.calloc函数分配内存 void *calloc( size_t nu ...