當前位置:首頁 » 數據倉庫 » javajdbc鏈接資料庫
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

javajdbc鏈接資料庫

發布時間: 2022-12-14 01:53:59

① JAVA中,連接資料庫JDBC總是連接不上

解決方案:
1 首先要做的是在sql新建查詢里輸入
exec sys.sp_readerrorlog 0, 1, 'listening'
運行後 會顯示你的sql 正在運行的tcp/ip介面
看看是否和你java代碼中指定的url中的介面不一致
2 你看一下伺服器的TCP/IP是否被禁用了,sqlserver2005默認情況下是禁用了TCP/IP連接。啟動TCP/IP連接的方法:開始\程序\Microsoft SQL Server 2005\配置工具\目錄下的SQL Server Configuration Manager,選擇mssqlserver協議, 然後右邊窗口有個tcp/ip協議,然後啟動它,把sqlserver服務停了再啟動。
3 設置 「開始\程序\Microsoft SQL Server 2005\配置工具\SQL Server 外圍應用配置器」 在「SQL Server 2005 外圍應用配置器」頁, 單擊「服務和連接的外圍應用配置器」 ,然後單擊展開「資料庫引擎」, 選中「遠程連接」,在右邊選中「本地連接和遠程連接」, 再選擇要使用的協議,( 這個地方應當啟用TCP/IP 和命名管道服務!)單擊「應用」,您會看到消息: 「直到重新啟動資料庫引擎服務後,對連接設置所做的更改才會生效。」單擊「確定」按鈕返回 。
4 或是防火牆的問題:你把1433的埠加到例外去就可以了。

② java JDBC連接不同的資料庫寫法sql,oracle,mysql

JDBC連接不同資料庫的寫法如下:


1、Oracle8/8i/9i資料庫(thin模式)

Class.forName("oracle.jdbc.driver.OracleDriver");
Stringurl="jdbc:oracle:thin:@localhost:1521:orcl";//orcl為資料庫的SID
Stringuser="test";
Stringpassword="test";
Connectionconn=DriverManager.getConnection(url,user,password);

2、SQL Server2005及以上版本資料庫

Class.forName("com.microsoft.sqlserver.SQLServerDriver");
Stringurl="jdbc:sqlserver://localhost:1433;DatabaseName=mydb";
//mydb為資料庫
Stringuser="sa";
Stringpassword="";
Connectionconn=DriverManager.getConnection(url,user,password);


3、MySQL資料庫

Class.forName("com.mysql.jdbc.Driver");
Stringurl="jdbc:mysql://localhost/myDB?
user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1"
//myDB為資料庫名
Connectionconn=DriverManager.getConnection(url);



4、DB2資料庫

Class.forName("com.ibm.db2.jdbc.app.DB2Driver").newInstance();
Stringurl="jdbc:db2://localhost:5000/sample";//sample為你的資料庫名
Stringuser="admin";
Stringpassword="";
Connectionconn=DriverManager.getConnection(url,user,password);

5、Sybase資料庫

Class.forName("com.sybase.jdbc.SybDriver").newInstance();
Stringurl="jdbc:sybase:Tds:localhost:5007/myDB";//myDB為你的資料庫名
PropertiessysProps=System.getProperties();
SysProps.put("user","userid");
SysProps.put("password","user_password");
Connectionconn=DriverManager.getConnection(url,SysProps);


6、Informix資料庫

Class.forName("com.informix.jdbc.IfxDriver").newInstance();
Stringurl="jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver;
user=testuser;password=testpassword";//myDB為資料庫名
Connectionconn=DriverManager.getConnection(url);

7、PostgreSQL資料庫

Class.forName("org.postgresql.Driver").newInstance();
Stringurl="jdbc:postgresql://localhost/myDB"//myDB為資料庫名
Stringuser="myuser";
Stringpassword="mypassword";
Connectionconn=DriverManager.getConnection(url,user,password);


8、access資料庫直連用ODBC的


Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Stringurl="jdbc:odbc:Driver={MicroSoftAccessDriver
(*.mdb)};DBQ="+application.getRealPath("/Data/ReportDemo.mdb");
Connectionconn=DriverManager.getConnection(url,"","");
StatementstmtNew=conn.createStatement();

③ java通過jdbc-odbc連接資料庫

實現思路:就是通過ojdbc.jar中提供的方法,直接連接資料庫即可,固定代碼寫法如下:

importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.ResultSet;
importjava.sql.Statement;

publicclassJDBCTest{
publicstaticvoidmain(String[]args)throwsException{
//1.載入驅動
//Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//Class.forName("com.mysql.jdbc.Driver");
Class.forName("oracle.jdbc.driver.OracleDriver");

//2.創建資料庫連接對象
//Connectionconn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=db","sa","sqlpass");
//Connectionconn=DriverManager.getConnection("jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=UTF-8","root","123456");
Connectionconn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","scott","Oracle123");

//3.創建資料庫命令執行對象
Statementstmt=conn.createStatement();
//PreparedStatementps=conn.prepareStatement("select*fromt_user");

//4.執行資料庫命令
ResultSetrs=stmt.executeQuery("select*fromt_user");
//ResultSetrs=ps.executeQuery();

//5.處理執行結果
while(rs.next()){
intid=rs.getInt("id");
Stringusername=rs.getString("username");
Stringpassword=rs.getString("password");
System.out.println(id+" "+username+" "+password);
}

//6.釋放資料庫資源
if(rs!=null){
rs.close();
}
//if(ps!=null){
//ps.close();
//}
if(stmt!=null){
stmt.close();
}
if(conn!=null){
conn.close();
}
}
}

④ JDBC連接資料庫的步驟都有哪些

1、首先我們通過資料庫可視化工具navicate for mysql,新建一個資料庫,名字叫test新建一張表。

⑤ java中使用JDBC完成資料庫操作的基本步驟是什麼

創建一個以JDBC連接資料庫的程序,包含7個步驟:
1、載入JDBC驅動程序:
在連接資料庫之前,首先要載入想要連接的資料庫的驅動到JVM(Java虛擬機),
這通過java.lang.Class類的靜態方法forName(String className)實現。
例如:
try{
//載入MySql的驅動類
Class.forName("com.mysql.jdbc.Driver") ;
}catch(ClassNotFoundException e){
System.out.println("找不到驅動程序類 ,載入驅動失敗!");
e.printStackTrace() ;
}
成功載入後,會將Driver類的實例注冊到DriverManager類中。
2、提供JDBC連接的URL
•連接URL定義了連接資料庫時的協議、子協議、數據源標識。
•書寫形式:協議:子協議:數據源標識
協議:在JDBC中總是以jdbc開始
子協議:是橋連接的驅動程序或是資料庫管理系統名稱。
數據源標識:標記找到資料庫來源的地址與連接埠。
例如:(MySql的連接URL)
jdbc:mysql:
//localhost:3306/test?useUnicode=true&characterEncoding=gbk ;
useUnicode=true:表示使用Unicode字元集。如果characterEncoding設置為
gb2312或GBK,本參數必須設置為true 。characterEncoding=gbk:字元編碼方式。
3、創建資料庫的連接
•要連接資料庫,需要向java.sql.DriverManager請求並獲得Connection對象,
該對象就代表一個資料庫的連接。
•使用DriverManager的getConnectin(String url , String username ,
String password )方法傳入指定的欲連接的資料庫的路徑、資料庫的用戶名和
密碼來獲得。
例如:
//連接MySql資料庫,用戶名和密碼都是root
String url = "jdbc:mysql://localhost:3306/test" ;
String username = "root" ;
String password = "root" ;
try{
Connection con =
DriverManager.getConnection(url , username , password ) ;
}catch(SQLException se){
System.out.println("資料庫連接失敗!");
se.printStackTrace() ;
}
4、創建一個Statement
•要執行SQL語句,必須獲得java.sql.Statement實例,Statement實例分為以下3
種類型:
1、執行靜態SQL語句。通常通過Statement實例實現。
2、執行動態SQL語句。通常通過PreparedStatement實例實現。
3、執行資料庫存儲過程。通常通過CallableStatement實例實現。
具體的實現方式:
Statement stmt = con.createStatement() ;
PreparedStatement pstmt = con.prepareStatement(sql) ;
CallableStatement cstmt =
con.prepareCall("{CALL demoSp(? , ?)}") ;
5、執行SQL語句
Statement介面提供了三種執行SQL語句的方法:executeQuery 、executeUpdate
和execute
1、ResultSet executeQuery(String sqlString):執行查詢資料庫的SQL語句
,返回一個結果集(ResultSet)對象。
2、int executeUpdate(String sqlString):用於執行INSERT、UPDATE或
DELETE語句以及SQL DDL語句,如:CREATE TABLE和DROP TABLE等
3、execute(sqlString):用於執行返回多個結果集、多個更新計數或二者組合的
語句。
具體實現的代碼:
ResultSet rs = stmt.executeQuery("SELECT * FROM ...") ;
int rows = stmt.executeUpdate("INSERT INTO ...") ;
boolean flag = stmt.execute(String sql) ;
6、處理結果
兩種情況:
1、執行更新返回的是本次操作影響到的記錄數。
2、執行查詢返回的結果是一個ResultSet對象。
• ResultSet包含符合SQL語句中條件的所有行,並且它通過一套get方法提供了對這些
行中數據的訪問
• 使用結果集(ResultSet)對象的訪問方法獲取數據:
while(rs.next()){
String name = rs.getString("name") ;
String pass = rs.getString(1) ; // 此方法比較高效
}
(列是從左到右編號的,並且從列1開始)
7、關閉JDBC對象
操作完成以後要把所有使用的JDBC對象全都關閉,以釋放JDBC資源,關閉順序和聲
明順序相反:
1、關閉記錄集
2、關閉聲明
3、關閉連接對象
if(rs != null){ // 關閉記錄集
try{
rs.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
if(stmt != null){ // 關閉聲明
try{
stmt.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
if(conn != null){ // 關閉連接對象
try{
conn.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}

⑥ java中使用JDBC連接資料庫的步驟

1.class.forName("驅動所在類及包名") 還需導入jar包
2.java.sql.Connection conn = DriverManager.getConnection(URL(即資料庫連接的ulr),USERNAME(對應數據的用戶名),PASSWORD(密碼));
3.String sql = "SELECT * FROM tableName WHERE id=?";
4.java.sql.PreparedStatement ptmt = conn.getPreparedStatement(sql);
5.ptmt.setInt(1,id值);
6.java.sql.ResultSet rs = ptmt.executeQuery();
7.while(rs.next){
System.out.println(rs.getString("欄位名"));
}
8.conn.close();ptmt.close();rs.close();

⑦ java怎麼和資料庫連接

1、載入驅動程序。

處理結果兩種情況:

1、執行更新返回的是本次操作影響到的記錄數。

2、執行查詢返回的結果是一個ResultSet對象。

ResultSet包含符合SQL語句中條件的所有行,並且它通過一套get方法提供了對這些 行中數據的訪問。

(7)javajdbc鏈接資料庫擴展閱讀:


Statement

要執行SQL語句,必須獲得java.sql.Statement實例,Statement實例分為以下3 種類型:

1、執行靜態SQL語句。通常通過Statement實例實現。

2、執行動態SQL語句。通常通過PreparedStatement實例實現。

3、執行資料庫存儲過程。通常通過CallableStatement實例實現。