程序中最關鍵的就是connect_string的賦值,對於像我一樣的新手來說,真的是非常的頭痛,要考慮數據庫的版本,數據庫服務器,sid號等等,現在連接成功了,感覺想想也不難,但是之前真是絞盡腦汁都想不明白. sid還是在服務器的環境變量裏查到的,幸好端口號是默認的不用查,否則還真不知道這篇文章什麼時候能發出來!!!
這個例子連接的是oracle數據庫,oracle安裝好後,在安裝目錄的jdbc目錄下會有需要的驅動程序jar包,選擇跟jdk版本合適的就行了,路徑什麼的看jdbc目錄下的readme文本就ok了
For the JDBC Thin Driver, or Server-side Thin Driver:(因爲連接oracle的jdbc驅動模式有好幾種,這邊只用了其中一種)
/*
* 創建日期 2007-9-14
*
* 更改所生成文件模板爲
* 窗口 > 首選項 > Java > 代碼生成 > 代碼和註釋
*/
package Test_2;
import oracle.jdbc.*;
import java.sql.*;
/**
* @author Administrator
*
* 更改所生成類型註釋的模板爲
* 窗口 > 首選項 > Java > 代碼生成 > 代碼和註釋
*/
public class jdbc_thin {
static final String connect_string = "jdbc:oracle:thin:@服務器ip:1521:maps4";
//maps4在服務器機器的環境變量裏查到的sid
// static final String connect_string = "jdbc:oracle:thin:hr/hr@(description=(address_list=(address=
(protocol=tcp)(host=localhost)(port=1610))(address=(protocol=tcp)(host=localhost)(port=1521)))(source_route=yes)
(connect_data=(sid=orcl)))";
// The query we will execute
static final String query = "select 'Hello JDBC: ' || sysdate from dual";
static final String query1 = "select qsaccno from qsaccno t where t.qstype='3'";//不能有結尾分號
Connection conn;
public void Connection()
{
System.out.println("begin connection!");
try
{
DriverManager.registerDriver (new OracleDriver());
conn = DriverManager.getConnection (connect_string,"iware","iware");
Statement stmt = conn.createStatement ();
// ResultSet rset = stmt.executeQuery (query);
System.out.println("connection over!");
ResultSet rset = stmt.executeQuery (query1);
while (rset.next ())
System.out.println(rset.getString (1) + "/n");
// We're done
System.out.println("done./n");
}
catch(SQLException e)
{
System.out.println(e.getMessage () + "/n");
}
}
public static void main(String[] args) {
jdbc_thin thin = new jdbc_thin();
thin.Connection();
}
}