當前位置:首頁 » 操作系統 » jdbc連接oracle資料庫

jdbc連接oracle資料庫

發布時間: 2022-08-13 02:25:48

Ⅰ 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
這個類型的.
所以的用這個對象的實例
來接收啊.
呵呵

熱點內容
銀行卡輸入密碼次數超限怎麼辦 發布:2022-09-24 00:58:51 瀏覽:721
聯通運營商服務密碼怎麼查 發布:2022-09-24 00:57:18 瀏覽:714
微軟平板密碼忘記了如何解鎖 發布:2022-09-24 00:56:03 瀏覽:35
我的世界網易伺服器為什麼會蹦端 發布:2022-09-24 00:54:35 瀏覽:101
jsiframe緩存 發布:2022-09-24 00:53:10 瀏覽:499
安卓手機如何取消後台運行程序 發布:2022-09-24 00:48:45 瀏覽:209
存儲備份容災 發布:2022-09-24 00:46:04 瀏覽:774
sm加密 發布:2022-09-24 00:45:53 瀏覽:60
plc編譯錯誤欄不見了 發布:2022-09-24 00:42:20 瀏覽:66
在板編程器 發布:2022-09-24 00:38:10 瀏覽:784