Oracle数据库连接jdbc
❶ 请教JDBC怎么连接ORACLE数据库
1)连接Oracle 8/8i/9i/10g/11g(thin模式)
Class.forName("oracle.JDBC.driver.OracleDriver").newInstance();
String url="JDBC:oracle:thin:@localhost:1521:orcl" //orcl为Oracle数据库的SID
String user="test";
String password="test";
Connection con=DriverManager.getConnection(url,user,password);
2)连接DB2数据库
Class.forName("com.ibm.db2.jcc.DB2Driver");
String url="JDBC:db2://localhost:5000/testDb";
String user="test"; String password="test";
Connection con=DriverManager.getConnection(url,user,password);
3)连接Mysql数据库
Class.forName("com.mysql.jdbc.Driver");
String url="JDBC:mysql://localhost:8080/testDB";
String user="test"; String password="test";
Connection con=DriverManager.getConnection(url,user,password);
4)连接SQL Server2000数据库
Class.forName("com.microsoft.JDBC.sqlserver.SQLServerDriver");
String url="JDBC:microsoft:sqlserver://localhost:1433;DatabaseName=testDb";
String user="test"; String password="test";
Connection con=DriverManager.getConnection(url,user,password);
5)连接PostgreSQL数据库
Class.forName("org.postgresql.Driver");
String url="JDBC:postgresql://localhost/testDb";
String user="test"; String password="test";
Connection con=DriverManager.getConnection(url,user,password);
6)连接Access数据库
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url="JDBC:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="+application.getRealPath("/Data/testDb/mdb");
Connection conn=DriverManager.getConnection(url,"","");
7连接Sybase数据库
Class.forName("com.sybase.JDBC.SybDriver");
String url="JDBC:sybase:Tds:localhost:5007/testDb";
Properties pro=System.getProperties();
pro.put("user","userId");
pro.put("password","user_password");
Connection con=DriverManager.getConnection(url,pro);
8连接informix数据库
Class.forName("com.informix.JDBC.ifxDriver");
String url="JDBC:informix-sqli:localhost:1533/testDb:INFORMIXSERVER=myserver"user=testUser;password=testpassword"; Connection con=DriverManager.getConnection(url);
❷ jdbc连接oracle数据库问题
存在不少问题..
String strCon = "jdbc:oracle:this:@localhost:1521: JspSamples"; //连接字
/*url写错了,这样:jdbc:oracle:thin:@localhost:1521: JspSamples(如1楼所说是thin不是this)*/
Connection conn = DriverManager.getConnection(strCon,"system","system"); //连接数据库
Statement stmt = conn.createStatement(); //初始化查询
String sql = "create database JspSamples"; //创建数据库
/*---> 上面这句不存在java语法问题,但是该sql对Oracle来说是执行不了的,自己再去了解一下Oracle吧*/
int ret = stmt.executeUpdate(sql); //执行创建数据库
String sql = "use JspSamples"; //选择数据库
/*---> 重复定义变量sql,把String去掉,且与上面那句存在相同问题(oracle不认识 use..,这不是oracle的语法)*/
int ret = stmt.executeUpdate(sql); //执行选择数据库
String sql = " CREATE TABLE customers(" + //创建表
/*---> 同上,把String去掉*/
" Id int(6) unsigned NOT NULL auto_increment," +
" Name varchar(20) default NULL," +
" addTime timestamp NULL default NULL," +
" Tel varchar(15) default NULL," +
" Email varchar(20) default NULL," +
" PRIMARY KEY (Id)" +
" )";
int ret = stmt.executeUpdate(sql); //执行创建表
❸ jdbc连接oracle数据库
Exception in thread "main" java.lang.NoClassDefFoundError: oracle/dms/console/DMSConsole
主要看这一行,NoClassDefFoundError
NoClassDefFoundError 这个错误出现时一般是这两种情况:
1. Windows 不区分文件名大小写,你把文件名搞错了,它和 public class 名字有着大小写的不同。
2. 一个类在 static { } 这个初始化代码块或 static Clz instance= new Clz(); 时 new Clz() 抛出了异常。这样一个 class 在第一次加载后会自动执行 class 级别的初始化代码,比如静态变量和 static { } 中的代码,这个时候如果有一个异常未处理就导致 class 初始化失败,这个 class 确实存在,加载成功了,但加载后 define 这个 class 时出错了。所以错误的名字叫 NoClassDefFoundError 而不是 ClassNotFound,它确实 found 了,但 define 失败。
从你的案例来看,肯定不是第1种情况。
因此你需要做的事情时,从日志中找出来到底什么原因导致 Hibernate 初始化的时候出错了。你的代码有没有可能把某个 Hibernate 初始化的代码直接 try { ... } catch (Exception e) { /* 新手经常在此处什么也不做,连日志都不打印一个 */} ,如果有新手写出这样的代码你是没办法猜出原因的,你唯一的办法只有人工检查代码,一行一行地看。
❹ 怎样利用JDBC连接并操作Oracle数据库
文件用:ojdbc6.jar
/**
*一个非常标准的连接Oracle数据库的示例代码
*/
publicvoidtestOracle()
{
Connectioncon=null;//创建一个数据库连接
PreparedStatementpre=null;//创建预编译语句对象,一般都是用这个而不用Statement
ResultSetresult=null;//创建一个结果集对象
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");//加载Oracle驱动程序
System.out.println("开始尝试连接数据库!");
Stringurl="jdbc:oracle:thin:@127.0.0.1:1521:XE";//127.0.0.1是本机地址,XE是精简版Oracle的默认数据库的SID
//如果是服务名,则用Stringurl="jdbc:oracle:thin:@127.0.0.1:1521/ORCL
Stringuser="system";//用户名,系统默认的账户名
Stringpassword="147";//你安装时选设置的密码
con=DriverManager.getConnection(url,user,password);//获取连接
System.out.println("连接成功!");
Stringsql="select*fromstudentwherename=?";//预编译语句,“?”代表参数
pre=con.prepareStatement(sql);//实例化预编译语句
pre.setString(1,"刘显安");//设置参数,前面的1表示参数的索引,而不是表中列名的索引
result=pre.executeQuery();//执行查询,注意括号中不需要再加参数
while(result.next())
//当结果集不为空时
System.out.println("学号:"+result.getInt("id")+"姓名:"
+result.getString("name"));
}
catch(Exceptione)
{
e.printStackTrace();
}
finally
{
try
{
//逐一将上面的几个对象关闭,因为不关闭的话会影响性能、并且占用资源
//注意关闭的顺序,最后使用的最先关闭
if(result!=null)
result.close();
if(pre!=null)
pre.close();
if(con!=null)
con.close();
System.out.println("数据库连接已关闭!");
}
catch(Exceptione)
{
e.printStackTrace();
}
}
}
❺ JDBC连接数据库Oracle,连接字符串的问题
思路如下:
第一:localhost,换成ip试试?有些机器的确认不出localhost,需要去修改本地域名配置文件
第二:oracle驱动有问题?。。。
❻ jdbc用thin方式连接Oracle数据库的代码解释
stmt
=
conn.preparestatement(sql);//
?
获得数据库的sql
rt
=
stmt.executequery();//
?
执行查询语句
rowset.populate(rt);//
?
将结果集
放在
rowset对象中
stmt.executeupdate();//这句话作用是什么呢?
执行更新语句(增/删/改)
cachedrowsetimpl
rowset
=
test.getlist("select
*
from
bob");
看看test.getlist(string);方法的返回类型就明白了
方法返回cachedrowsetimpl
这个类型的.
所以的用这个对象的实例
来接收啊.
呵呵
❼ 如何利用JDBC连接并操作Oracle数据库
/**
*一个非常标准的连接Oracle数据库的示例代码
*/
publicvoidtestOracle()
{
Connectioncon=null;//创建一个数据库连接
PreparedStatementpre=null;//创建预编译语句对象,一般都是用这个而不用Statement
ResultSetresult=null;//创建一个结果集对象
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");//加载Oracle驱动程序
System.out.println("开始尝试连接数据库!");
Stringurl="jdbc:oracle:thin:@127.0.0.1:1521:XE";//127.0.0.1是本机地址,XE是精简版Oracle的默认数据库的SID
//如果是服务名,则用Stringurl="jdbc:oracle:thin:@127.0.0.1:1521/ORCL
Stringuser="system";//用户名,系统默认的账户名
Stringpassword="147";//你安装时选设置的密码
con=DriverManager.getConnection(url,user,password);//获取连接
System.out.println("连接成功!");
Stringsql="select*fromstudentwherename=?";//预编译语句,“?”代表参数
pre=con.prepareStatement(sql);//实例化预编译语句
pre.setString(1,"刘显安");//设置参数,前面的1表示参数的索引,而不是表中列名的索引
result=pre.executeQuery();//执行查询,注意括号中不需要再加参数
while(result.next())
//当结果集不为空时
System.out.println("学号:"+result.getInt("id")+"姓名:"
+result.getString("name"));
}
catch(Exceptione)
{
e.printStackTrace();
}
finally
{
try
{
//逐一将上面的几个对象关闭,因为不关闭的话会影响性能、并且占用资源
//注意关闭的顺序,最后使用的最先关闭
if(result!=null)
result.close();
if(pre!=null)
pre.close();
if(con!=null)
con.close();
System.out.println("数据库连接已关闭!");
}
catch(Exceptione)
{
e.printStackTrace();
}
}
}
❽ JDBC连接ORACLE
下面是用JAVA 通过JDBC连接 Oracle的步骤
希望对你有帮助
(1)装载并注册数据库的JDBC驱动程序
载入JDBC驱动:
Class.forName("oracle.jdbc.driver.OracleDriver");
注册JDBC驱动:
java.sql.DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
(2)建立与数据库的连接
要建立与数据库的连接,首先要创建指定数据库的URL。连接数据库的URL对象,利用DriverManager 的getConnection方法建立的。数据库URL对象与网络资源的统一资源定位类似,其构成格式如下:
jdbc:subProtocol:subName://hostname:port;DatabaseName=ⅹⅹⅹ
其中:
jdbc表示当前通过Java的数据库连接进行数据库访问;
subProtocol表示通过某种驱动程序支持的数据库连接机制;
subName表示在当前连接机制下的具体名称;
hostname表示主机名;
port表示相应的连接端口;
DatabaseName表示要连接的数据库的名称。
这里以与Oracle数据库的连接为例:
连接Oracle 8/8i/9i数据库(用thin模式)
url = jdbc:oracle:thin:@hostip:1521:oracleSID;
注意:hostip指主机的ip地址,oracleSID指数据库的SID。
再者确定连接数据库的用户名与密码,即user和password 的值:
user = “ⅹⅹⅹ “;
password = “ⅹⅹⅹ“;
最后使用如下语句:
Connection con=java.sql.DriverManager.getConnection(url,user,password);
(3)创建Statement对象
例如:
Statement stmt = con.createStatement();
(4)调用并执行SQL语句
例如:
String sql = “select a,b,c from table1";//table1为你所要查询的表名,a,b,c为所要查询的字段
ResultSet rs = stmt.executeQuery(sql);
(5)访问ResultSet中的记录集并从中取出记录
例如:
rs.next( );
rs.absolute(4);
String col1=rs.getString(1);
……..
(6)依次关闭ResultSet、Statement和Connection对象
例如:
rs.close();
stmt.close();
con.close();
❾ JDBC连接oracle数据库
要写完很费劲啊,就给你写一个增加记录吧。
为了测试 先要加一个实体类,
public class TeacherVo
{
private int number;
private String name;
private String date;
private double salary;
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
}
然后再TeacherDao类里面写方法
public void add(TeacherVo vo)
{
Class.forName("oracle.jdbc.driver.OracleDriver");
con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ORCL","scott","oracle");
PreparedStatement ps=con.prepareStatement("insert into stuinfo values(?,?,?,?)");
ps.setInt (1,vo.getgetNumber());
ps.setString(2,vo.getName());
java.util.Date date=new SimpleDateFormat("yyyy-MM-dd").parse(vo.getDate());
ps.setDate(3, new java.sql.Date(date.getTime()));
ps.setDouble(4,vo.getSalary());
ps.executeUpdate();
ps.close();
System.out.println("连接成功");
}
catch (Exception e) {
System.out.println("连接失败!");
e.printStackTrace();
}
finally
{
try {
if(con!=null)
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
public static void main(String[] args)
{
TeacherVo vo=new TeacherVo();
vo.setNumber("1");
vo.setsetName("张三");
vo.setDate("1992-07-06");
vo.setSalary("4000");
TeacherDao =new TeacherDao();
.add(vo);
}