jdbc连接oracle数据库
Ⅰ JDBC 连接oracle的问题
最近做一个java web项目,使用jdbc连接Oracle数据库,遇到了两个问题。 回到顶部(go to top) 后来发现这个问题的原因是由于连接字符串写错了,修正以后如下所示: publicstaticConn...
Ⅱ 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);
}
Ⅲ 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) { /* 新手经常在此处什么也不做,连日志都不打印一个 */} ,如果有新手写出这样的代码你是没办法猜出原因的,你唯一的办法只有人工检查代码,一行一行地看。
Ⅳ java jdbc连接oracle数据库步骤
跟连接mysql一样的;
如果java类连接,网上搜索一个连接代码即可,若是controller,在里面写上
spring.datasource.secondary.jdbc-url=
spring.datasource.secondary.username=
spring.datasource.secondary.password=
oracle同理
Ⅵ 怎样利用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数据库
/**
*一个非常标准的连接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数据库
先从安装了Oracle的数据库服务器中,找到Oracle安装目录,然后将该目录下的jdbc\lib\classes12.jar文件拷贝到WEB发布服务器的某个目录。假设就直接放在C:\根目录下吧,然后把该路径添加到系统--高级--环境变量中变量名为CLASSPATH?的值中,如:
D:\Program Files\SQLLIB\java\db2java.zip;D:\Program Files\SQLLIB\java\runtime.zip;c:classes12.jar; 也就是让java能够找到这个包。
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.创建Statement对象:
Statement 类的主要是用于执行静态 SQL 语句并返回它所生成结果的对象。通过Connection 对象的 createStatement()方法可以创建一个Statement对象。例如:Statement statament = connection.createStatement(); 具体示例创建Statement对象
Statement statamentMySQL =connectMySQL.createStatement();
Ⅸ 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用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
这个类型的.
所以的用这个对象的实例
来接收啊.
呵呵