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

javajdbc連接oracle資料庫

發布時間: 2022-06-29 21:23:57

❶ 如何利用JDBC連接並操作Oracle資料庫

  • S1、下載ojdbc14.jar驅動文件,並將該文件放到你的項目中去;

  • S2、在MyEclipse中的項目中添加Oracle驅動程序:在項目名上右鍵->BuildPath->AddExternalArchiver然後選擇你剛才放在項目中的文件,點確定即可。

  • S3、打開Oracle的各項服務,並在Oracle中建一張表。

  • S4、編寫MyEclipse與Oracle的連接程序:

  • [cpp]viewplainprint?<SPANstyle="FONT-SIZE:16px">importjava.sql.Connection;

  • importjava.sql.DriverManager;

  • importjava.sql.PreparedStatement;

  • importjava.sql.ResultSet;

  • importjava.sql.Statement;

  • importjava.sql.*;

  • publicclassJDBC_Test{

  • //orcl為oracle資料庫中的資料庫名,localhost表示連接本機的oracle資料庫

  • //1521為連接的埠號

  • privatestaticStringurl="jdbc:oracle:thin:@localhost:1521:orcl";

  • //system為登陸oracle資料庫的用戶名

  • privatestaticStringuser="system";

  • //manager為用戶名system的密碼

  • privatestaticStringpassword="manager";

  • publicstaticConnectionconn;

  • ;

  • publicstaticResultSetrs;

  • publicstaticStatementst;

  • //連接資料庫的方法

  • publicvoidgetConnection(){

  • try{

  • //初始化驅動包

  • Class.forName("oracle.jdbc.driver.OracleDriver");

  • //根據資料庫連接字元,名稱,密碼給conn賦值

  • conn=DriverManager.getConnection(url,user,password);

  • }catch(Exceptione){

  • //TODO:handleexception

  • e.printStackTrace();

  • }

  • }

  • //測試能否與oracle資料庫連接成功

  • publicstaticvoidmain(String[]args){

  • JDBC_Testbase=newJDBC_Test();

  • base.getConnection();

  • if(conn==null){

  • System.out.println("與oracle資料庫連接失敗!");

  • }else{

  • System.out.println("與oracle資料庫連接成功!");

  • }

  • }

  • }

  • </SPAN>

  • importjava.sql.Connection;

  • importjava.sql.DriverManager;

  • importjava.sql.PreparedStatement;

  • importjava.sql.ResultSet;

  • importjava.sql.Statement;

  • importjava.sql.*;

  • publicclassJDBC_Test{

  • //orcl為oracle資料庫中的資料庫名,localhost表示連接本機的oracle資料庫

  • //1521為連接的埠號

  • privatestaticStringurl="jdbc:oracle:thin:@localhost:1521:orcl";

  • //system為登陸oracle資料庫的用戶名

  • privatestaticStringuser="system";

  • //manager為用戶名system的密碼

  • privatestaticStringpassword="manager";

  • publicstaticConnectionconn;

  • ;

  • publicstaticResultSetrs;

  • publicstaticStatementst;

  • //連接資料庫的方法

  • publicvoidgetConnection(){

  • try{

  • //初始化驅動包

  • Class.forName("oracle.jdbc.driver.OracleDriver");

  • //根據資料庫連接字元,名稱,密碼給conn賦值

  • conn=DriverManager.getConnection(url,user,password);

  • }catch(Exceptione){

  • //TODO:handleexception

  • e.printStackTrace();

  • }

  • }

  • //測試能否與oracle資料庫連接成功

  • publicstaticvoidmain(String[]args){

  • JDBC_Testbase=newJDBC_Test();

  • base.getConnection();

  • if(conn==null){

  • System.out.println("與oracle資料庫連接失敗!");

  • }else{

  • System.out.println("與oracle資料庫連接成功!");

  • }

  • }

  • }

  • S5、如果上述的連接已經建立,就可以利用JDBC中的JavaAPI對資料庫進行操作了,具體的查詢,插入,刪除,更新操作如下:

  • [cpp]viewplainprint?<SPANstyle="FONT-SIZE:16px">代碼轉載自:http://blog.csdn.net/cxwen78/article/details/6863696

  • importjava.sql.Connection;

  • importjava.sql.DriverManager;

  • importjava.sql.ResultSet;

  • importjava.sql.SQLException;

  • importjava.sql.Statement;

  • publicclassJDBC_Test{

  • //創建靜態全局變數

  • staticConnectionconn;

  • staticStatementst;

  • publicstaticvoidmain(String[]args){

  • insert();//插入添加記錄

  • update();//更新記錄數據

  • delete();//刪除記錄

  • query();//查詢記錄並顯示

  • }

  • /*插入數據記錄,並輸出插入的數據記錄數*/

  • publicstaticvoidinsert(){

  • conn=getConnection();//首先要獲取連接,即連接到資料庫

  • try{

  • Stringsql="INSERTINTOstaff(name,age,sex,address,depart,worklen,wage)"

  • +"VALUES('Tom1',32,'M','china','Personnel','3','3000')";//插入數據的sql語句

  • st=(Statement)conn.createStatement();//創建用於執行靜態sql語句的Statement對象

  • intcount=st.executeUpdate(sql);//執行插入操作的sql語句,並返回插入數據的個數

  • System.out.println("向staff表中插入"+count+"條數據");//輸出插入操作的處理結果

  • conn.close();//關閉資料庫連接

  • }catch(SQLExceptione){

  • System.out.println("插入數據失敗"+e.getMessage());

  • }

  • }

  • /*更新符合要求的記錄,並返回更新的記錄數目*/

  • publicstaticvoipdate(){

  • conn=getConnection();//同樣先要獲取連接,即連接到資料庫

  • try{

  • Stringsql="updatestaffsetwage='2200'wherename='lucy'";//更新數據的sql語句

  • st=(Statement)conn.createStatement();//創建用於執行靜態sql語句的Statement對象,st屬局部變數

  • intcount=st.executeUpdate(sql);//執行更新操作的sql語句,返回更新數據的個數

  • System.out.println("staff表中更新"+count+"條數據");//輸出更新操作的處理結果

  • conn.close();//關閉資料庫連接

  • }catch(SQLExceptione){

  • System.out.println("更新數據失敗");

  • }

  • }

  • /*查詢資料庫,輸出符合要求的記錄的情況*/

  • publicstaticvoidquery(){

  • conn=getConnection();//同樣先要獲取連接,即連接到資料庫

  • try{

  • Stringsql="select*fromstaff";//查詢數據的sql語句

  • st=(Statement)conn.createStatement();//創建用於執行靜態sql語句的Statement對象,st屬局部變數

  • ResultSetrs=st.executeQuery(sql);//執行sql查詢語句,返回查詢數據的結果集

  • System.out.println("最後的查詢結果為:");

  • while(rs.next()){//判斷是否還有下一個數據

  • //根據欄位名獲取相應的值

  • Stringname=rs.getString("name");

  • intage=rs.getInt("age");

  • Stringsex=rs.getString("sex");

  • Stringaddress=rs.getString("address");

  • Stringdepart=rs.getString("depart");

  • Stringworklen=rs.getString("worklen");

  • Stringwage=rs.getString("wage");

  • //輸出查到的記錄的各個欄位的值

  • System.out.println(name+""+age+""+sex+""+address

  • +""+depart+""+worklen+""+wage);

  • }

  • conn.close();//關閉資料庫連接

  • }catch(SQLExceptione){

  • System.out.println("查詢數據失敗");

  • }

  • }

  • /*刪除符合要求的記錄,輸出情況*/

  • publicstaticvoiddelete(){

  • conn=getConnection();//同樣先要獲取連接,即連接到資料庫

  • try{

  • Stringsql="deletefromstaffwherename='lili'";//刪除數據的sql語句

  • st=(Statement)conn.createStatement();//創建用於執行靜態sql語句的Statement對象,st屬局部變數

  • intcount=st.executeUpdate(sql);//執行sql刪除語句,返回刪除數據的數量

  • System.out.println("staff表中刪除"+count+"條數據 ");//輸出刪除操作的處理結果

  • conn.close();//關閉資料庫連接

  • }catch(SQLExceptione){

  • System.out.println("刪除數據失敗");

  • }

  • }

  • /*獲取資料庫連接的函數*/

  • (){

  • Connectioncon=null;//創建用於連接資料庫的Connection對象

  • try{

  • Class.forName("com.mysql.jdbc.Driver");//載入Mysql數據驅動

  • con=DriverManager.getConnection(

  • "jdbc:mysql://localhost:3306/myuser","root","root");//創建數據連接

  • }catch(Exceptione){

  • System.out.println("資料庫連接失敗"+e.getMessage());

  • }

  • returncon;//返回所建立的資料庫連接

  • }

  • }

  • </SPAN>

❷ JDBC 連接oracle的問題

最近做一個java web項目,使用jdbc連接Oracle資料庫,遇到了兩個問題。 回到頂部(go to top) 後來發現這個問題的原因是由於連接字元串寫錯了,修正以後如下所示: publicstaticConn...

❸ java連接Oracle資料庫

8.Oracle8/8i/9i資料庫(thin模式)
//import java.sql.*;
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:orcl"; //orcl為資料庫的SID
String user="test";
String password="test";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmtNew=conn.createStatement();

1.提取單條記錄
//import java.sql.*;
Connection con=null;
Statement stmt=null;
ResultSet %%6=null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url="jdbc:odbc:"+%%1;
con=DriverManager.getConnection(url,%%2,%%3);
stmt=con.createStatement();
stmt.executeUpdate(%%4);
%%6=stmt.executeQuery(%%5);
%%7
}catch(Exception e){
e.printStackTrace();
}finally{
try {
try {
stmt.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
} catch (Exception e) {
e.printStackTrace();
}
}

2.單值比較
//import java.sql.*;
ResultSet rs;
String strurl="jdbc:odbc:%%1";
Connection con=NULL;
Statement stmt=null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection(url,%%2,%%3);
stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs=stmt.executeQuery(%%2);
rs.next();
int %%3=rs.getInt("%%3");
if(%%3==%%4)
{
%%5
}
}
catch (Exception e) {
e.printStackTrace();
}
finally{
try {
if(rs!=null)
{
rs.close();
stmt.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}

3.顯示表格
//import java.awt.*;
//import javax.swing.*;
//import java.sql.*;
//import javax.swing.table.*;
String[] colHeads=%%4;
Connection con=null;
Statement stmt=null;
ResultSet %%6=null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url="jdbc:odbc:"+%%1;
con=DriverManager.getConnection(url,%%2,%%3);
stmt=con.createStatement();
%%6=stmt.executeQuery("SELECT count(*) as au_count from "+%%5);
%%6.next();
int iCount=rs.getInt("au_count");
Object[][] data=new Object[iCount][];
int i=0;
%%6=stmt.executeQuery("SELECT * from "+%%5);
while(%%6.next()){
data[i]=new Object[iCount];
data[i][0]=%%6.getString("au_fname");
data[i][1]=%%6.getString("Phone");
data[i][2]=%%6.getString("City");
i++;
}
JTable table=new JTable(data,colHeads);
JScrollPane jsp=new JScrollPane(table);
getContentPane().add(jsp);
}catch(Exception e){
e.printStackTrace();
}
finally{
if(con!=null){
try {
%%6.close();
stmt.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}

7.執行命令
//import java.sql.*;
Connection conn;
PreparedStatement pst=null;
try {
conn=DriverManager.getConnection(url);
pst=conn.prepareStatement("Insert Into grade(%%1) Values (?)");
pst.setInt(1,%%2);
//pst.setInt(2,%%2);
pst.addBatch();
pst.executeBatch();
} catch (SQLException e){
e.printStackTrace();
}
finally{
pst.close();
conn.close();
}

❹ 怎樣利用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();
}
}
}

❺ 怎麼實現用java遠程訪問oracle資料庫

先期准備:
1、兩台電腦必須要聯網,能夠訪問到
2、將oracle的驅動程序拷貝到你的java的電腦上,並設置到環境變數中。

java代碼
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class DbTest {
public static void main(String[] args) {
Connection conn = null;
PreparedStatement prstm = null;
ResultSet rs = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@ip:port:orcl"; //資料庫連接字元串,需要替換ip,port,orcl
String user="user"; //用戶名,需要替換你的資料庫的用戶名
String password="pswd"; //密碼,需要替換為對應的密碼
conn = DriverManager.getConnection(url,user,password); //獲取連接

prstm = conn.prepareStatement("SELECT 1 TEST_ID FROM DUAL");
rs = prstm.executeQuery();
while (rs.next()) {
System.out.println("查詢結果為:" + rs.getInt("TEST_ID"));
}
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
//使用完畢進行相關內容的關閉,注意相關順序
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (prstm != null) {
try {
prstm.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}

}

❻ 怎麼實現用java訪問oracle資料庫

用JDBC啊,
首先去oracle網站下個java連接oracle的驅動,www.oracle.com/technology/software/tech/java/sqlj_jdbc/htdocs/jdbc9201.html

代碼列子:
import java.sql.*;

public class TestDBOracle {

public static void main(String[] args)
throws ClassNotFoundException, SQLException
{
Class.forName("oracle.jdbc.driver.OracleDriver");
//
// or
// DriverManager.registerDriver
// (new oracle.jdbc.driver.OracleDriver());

String url = "jdbc:oracle:thin:@//server.local:1521/prod";
// jdbc:oracle:thin:@//host:port/service
// or
// String url = "jdbc:oracle:thin:@server.local:1521:prodsid";
// jdbc:oracle:thin:@host:port:SID

Connection conn =
DriverManager.getConnection(url,"scott", "tiger");

conn.setAutoCommit(false);
Statement stmt = conn.createStatement();
ResultSet rset =
stmt.executeQuery("select BANNER from SYS.V_$VERSION");
while (rset.next()) {
System.out.println (rset.getString(1));
}
stmt.close();
System.out.println ("Ok.");
}
}

❼ java怎樣通過jdbc來訪問oracle資料庫的存儲過程和存儲函數

//存儲過程create
or
replace
Procere
countBySal(
p_sal
emp.sal%type,
p_count
OUT
number
)as
begin
select
count(*)
into
p_count
from
emp
where
sal
>=
p_sql;
end
countBySal;
//調用步奏import
java.sql.CallableStatement;
//帶哦用存儲過程所必須的語句借口
import
java.sql.Connection;
import
java.sql.DriverManager;
import
java.sql.Types;public
class
EmpUtil
{
public
static
int
countBySal(double
sal)
throws
Exception{
Class.forName("oracle.jdbc.driver.OracleDriver");
String
url="jdbc:oracle:thin:@localhost:1521:test";
Connection
cn=DriverManager.getConnection(url,
"scott",
"tiger");
String
sql="{call
countBySal(?,?)}";//調用存儲過程的語句,call後面的就是存儲過程名和需要傳入的參數
CallableStatement
cst=cn.prepareCall(sql);
cst.setDouble(1,
sal);//設置in參數的值
cst.registerOutParameter(2,
Types.INTEGER);//注冊out參數的類型
cst.execute();
int
result
=
cst.getInt(2);
cst.close();
cn.close();
return
result;
}
public
static
void
main(String[]
args)
{
int
count;
try
{
count
=
EmpUtil.countBySal(3000);
System.out.println("工資在3000元以上的人數為:"+count);
}
catch
(Exception
e)
{
e.printStackTrace();
}
}

❽ 怎麼用java連接oracle資料庫,需要詳細解釋

1)首先你要有java連接oracle資料庫的驅動類,下載好後導入到工程里

2)代碼:
import java.sql.*;

public class JDBCTest {

/**
* @param args
* @throws ClassNotFoundException
*/
public static void main(String[] args)
throws ClassNotFoundException, SQLException{
//1.准備參數
String ip = "192.168.0.26";
String sid = "tarena";
String port = "1521";
String dbUser = "openlab";
String dbPassword = "open123";
String driver
= "oracle.jdbc.driver.OracleDriver";

//2.構造驅動實例
Class.forName(driver);

//3.創建連接
//連接字元串是固定的形式,oracle的形式:
String url
= "jdbc:oracle:thin:@"
+ ip + ":" + port + ":" + sid;
Connection conn
= DriverManager.getConnection
(url, dbUser, dbPassword);
//4.執行SQL語句
String sql = "select id, password, name from user_sd1104 " +
"where id = 1001 and password = '1234'";
Statement stmt = conn.createStatement();
ResultSet rs
= stmt.executeQuery(sql);//執行sql語句
while(rs.next()){
int id = rs.getInt(1);
String pwd = rs.getString(2);
String name = rs.getString(3);
System.out.println("welcome," + name);
}
rs.close();
stmt.close();
conn.close();
}

}

❾ java jdbc連接oracle資料庫步驟

跟連接mysql一樣的;
如果java類連接,網上搜索一個連接代碼即可,若是controller,在裡面寫上
spring.datasource.secondary.jdbc-url=
spring.datasource.secondary.username=
spring.datasource.secondary.password=
oracle同理

❿ 淺談如何利用Java的JDBC操作Oracle資料庫

JavaJDBC中操作Oracle資料庫,經過以下幾個步驟
1.將OracleHome/jdbc/lib/目錄的所有文件添加到jre/lib/ext目錄;(配置JavaJDBC驅動)
2.創建odbc源,在控制面板=》管理工具=》數據源(odbc)中添加DSN,比如取名為OracleDSN,選擇一個Service,輸入用戶名密碼,測試連接,若通過說明成功;
3.在程序中載入jdbc驅動(下面的例子用的是JdbcOdbc驅動),建立連接,執行Query.
下面是連接OracleDSNODBCdatasource的一個類,方法Test()連接資料庫後,讀取tbljob的內容,並顯示所有記錄。


importjava.sql.*;
classOracleConnect{
publicstaticvoidTest(){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Stringurl="jdbc:odbc:OracleDSN";
Connectionconn=DriverManager.getConnection(url,"system","system_passwd");
Statementstmt=conn.createStatement();
ResultSetrset=stmt.executeQuery("select*fromtbljob;");
while(rset.next())
System.out.println(rset.getString(1)+""+rset.getString(2));
rset.close();
stmt.close();
conn.close();
}catch(Exceptione){
e.printStackTrace();
}
}
}

熱點內容
域控制伺服器怎麼管理vlan 發布:2024-11-16 10:06:49 瀏覽:27
jquery圖片壓縮上傳 發布:2024-11-16 09:54:50 瀏覽:602
安卓如何排查內存泄漏 發布:2024-11-16 09:54:13 瀏覽:199
怎麼設置登錄區域網伺服器憑據 發布:2024-11-16 09:49:46 瀏覽:538
閑置電腦家用下載伺服器 發布:2024-11-16 09:48:28 瀏覽:750
java工程師面試問題 發布:2024-11-16 09:28:36 瀏覽:233
用什麼引擎導出的安卓安裝包不大 發布:2024-11-16 09:09:06 瀏覽:474
安卓手機如何設置轉接 發布:2024-11-16 09:08:55 瀏覽:423
sql行業 發布:2024-11-16 09:04:07 瀏覽:295
如何查看電腦硬碟的介面速率緩存 發布:2024-11-16 08:59:42 瀏覽:221