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

Oracle資料庫連接jdbc

發布時間: 2022-09-01 10:33:05

❶ 請教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);
}

熱點內容
python文件刪除一行 發布:2025-05-14 08:06:58 瀏覽:721
如何下載奧特曼高級化3安卓版 發布:2025-05-14 07:47:31 瀏覽:346
qml文件修改後編譯未生效 發布:2025-05-14 07:31:00 瀏覽:331
內到內演算法 發布:2025-05-14 07:29:11 瀏覽:34
文件夾名字不顯示 發布:2025-05-14 07:27:47 瀏覽:775
oracle的資料庫驅動jar 發布:2025-05-14 07:23:20 瀏覽:556
我的世界電腦版伺服器手機版能進嗎 發布:2025-05-14 07:22:01 瀏覽:679
達內培訓php多少錢 發布:2025-05-14 07:19:10 瀏覽:27
python位元組轉字元串 發布:2025-05-14 07:06:35 瀏覽:423
subplotpython 發布:2025-05-14 06:53:51 瀏覽:662