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

javaodbc連接資料庫

發布時間: 2022-08-03 03:16:43

A. java如何連接資料庫

JDBC(Java DataBase Connectivity)是Java資料庫連接API。JDBC能完成與一個資料庫建立連接,然後向資料庫發送sql語句,再處理資料庫返回的結果。

JDBC在設計上和ODBC相似。JDBC和資料庫建立連接的一種方式是首先建立起一個JDBC-ODBC橋接器。

首先安裝office2000,就有了Access2000,啟動Access,建立新資料庫mess.mdb,建立包含兩個文本型欄位name和sex的表,表名為member,隨便錄入一些字元串到member表中,保存在任意目錄下,比如說C盤下。然後打開控制面板 -> 管理工具 -> 數據源 (ODBC),選擇"系統DSN",也可以選擇"用戶DSN"選項卡,系統的DSN對每個用戶都適用可避免調試時出現的許可權問題,單擊「添加」,

點擊"完成",彈出的對話框里將"數據源名"一項設為你喜歡的名字,比如redsun。點"選擇",找到"C:\mess.mdb"文件,如此一個ODBC數據源就配置好了。

要連接該數據源,也就是連接資料庫,首先要建立一個JDBC-ODBC橋接器,上面已經說過了,其方法是:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Class 是Java.lang包中的一個類,通過調用它的靜態方法forName就可以建立橋接器。但建立橋接器時可能發生異常,這是我們所不想見到的,因此要捕獲這個異常:

try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){異常捕獲}

然後就是連接資料庫了,這里要用到java.sql包中的Connection類聲明一個對象,再用類DriverManager調用它的靜態方法getConnection創建這個連接。

Connection con=DriverManager.getConnection("jdbc:odbc:數據源名字","數據源用戶名","數據源密碼");

為防止連接出現異常,這里也要有個異常的處理,具體看代碼:

=========access.java============

程序代碼
import java.sql.*;
public class access{
public static void main(String args[]){
Connection con;
Statement sql; //聲明Statement對象
ResultSet rs;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){
System.out.println(""+e);
}
try{
con=DriverManager.getConnection("jdbc:odbc:redsun","","");
sql=con.createStatement();
rs=sql.executeQuery("Select * FROM member");
while(rs.next()){
String name=rs.getString(1); //獲得資料庫第一列
String sex=rs.getString(2);
System.out.println("姓名:"+name); //輸出信息
System.out.println("性別:"+sex);
}
con.close();
}
catch(SQLException el){}
}
}

編繹access.java, 然後在命令提示符中先切換到編繹後的access.class的目錄,執行:

java access 回車

以上這個例子只是簡單的連接資料庫,並靜態游標方式顯示數據,更新、刪除和添加資料庫以前學過sql的很容易理解,語法為:

String xx="sql語句";

Statement對象.executeUpdate(xx);

B. JAVA中ODBCJDBC連接資料庫配置問題

開始-管理工具-數據源ODBC-系統DSN;裡面有數據源名稱。沒有的話點添加,然後選擇你的資料庫類型,輸入名稱(這個名稱就是數據源名稱),填入你的伺服器名稱,下一步,輸入資料庫用戶名和密碼,下一步,修改默認資料庫,把你要連接的資料庫填進去,再一直下一步就行了。最後點下測試,成功就OK了 .建立數據源和查看數據源名字就這方法了。你是不是別的方面有問題?比如驅動安裝等問題

C. 為什麼JAVA用odbc連不上資料庫

1,用ODBC連接,要先建立ODBC數據源,你建了嗎?
2,用jdbc連接,你要打開Sql Server配置管理器,開啟TCP/IP連接,開啟windows身份,Sql Server身份混合驗證,並在Sql Server Management Studio中測試能能過Sql Server身份驗證連接到你資料庫後就可以java中測試了

D. java中ODBC資料庫技術

知道JDBC就沒有必要知道ODBC了,ODBC無非是比JDBC多了一個中間橋梁,就是數據源,JDBC是直接連接資料庫,比ODBC性能高很多。
SQL語句其實都一樣,就是連接資料庫的方式不一樣。
不同的就是java.sql.Connection對象的獲得方式
JDBC:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
conn
=
DriverManager.getConnection("jdbc:sqlserver://localhost:1433;database=資料庫名稱","用戶名","密碼");//需要微軟提供的jdbc架包
ODBC:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn
=
DriverManager.getConnection("jdbc:odbc:數據源名稱");
注意ODBC需要在系統的管理工具中配置和上面「數據源名稱」名稱相同的數據源,其他操作都一樣

E. 怎樣JAVA通過JDBC-ODBC橋訪問數據源,配置數據源

導入java.sql包
一、載入要連接資料庫的驅動程序
//Jdbc-Odbc橋 和 Microsoft Access 資料庫
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
// SQL Server 驅動程序:
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
註:Class.forName()方法將給定的類載入到JVM,如果系統中不存在給定的類,則會引發異常
二、通過驅動程序管理器得到連接實例
Connection conn=null;
//1.
//1.1建立數據源
conn=DriverManager.getConnection("jdbc:odbc:MyDataSource"); //MyDataSource是數據源名稱
//1-2、不建立數據源
conn=DriverManager.getConnection("jdbc:odbc:;Driver=Microsoft Access Driver (*.mdb);DBQ=C:\\VBTest.mdb");
//2.SQL Server
conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databasename=mydb","sa","");
註:DriverManager類跟蹤已注冊的驅動程序,通過getConnection(URL)方法, 找到一個能夠連接至URL中指定的資料庫驅動程序
它接收三個參數, 分別表示1 數據源的名稱、類型 2 用戶名(可選) 3 密碼(可選)
三、基於連接對象建立處理器對象
Statement stmt=conn.createStatement();
四、准備sql命令
String sql="select * from Student";
五、執行命令返回結果集
ResultSet rs=stmt.executeQuery(sql);
六、顯示結果集
while(rs.next())//只要後面有記錄
{
//對當前行的所有欄位遍歷
for(int i=1;i<=rs.getMetaData().getColumnCount();i++)
{
System.out.print(rs.getMetaData().getColumnName(i)+": ");//顯示欄位名
System.out.println(rs.getString(i));//顯示欄位當前值
}
System.out.println();
}
七、關閉資源
rs.close(); //關閉記錄集
stmt.close(); //關閉處理器對象
conn.close(); //關閉連接對象
預處理器的應用:
//3.基於連接對象建立預處理器對象
PreparedStatement pstmt=conn.prepareStatement("insert into student values(?,?,?,?)");
//4.給預處理對象的參數賦值
pstmt.setString(1,"8888");
pstmt.setString(2,"nemo");
pstmt.setString(3,"accp");
pstmt.setString(4,"sanxianglu");
//5.執行預處理命令
int i=pstmt.executeUpdate();
System.out.println(i+"條記錄已成功插入!");

F. java ODBC 連接ACCESS資料庫問題

public class Connect {

private static Connection conn;

public static Connection Connect() throws SQLException {
// JDBC驅動
String classname = "sun.jdbc.odbc.JdbcOdbcDriver";
// 資料庫地址
String URL = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=F:\\aa.mdb";
// 用戶名
String user = "admin";
// 用戶密碼
String password = "";
try {
// 載入JDBC驅動
Class.forName(classname);
// 連接資料庫
conn = DriverManager.getConnection(URL, user, password);
System.out.println("連接成功!");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;

}

自己看著改

G. Java關於ODBC方式連接資料庫,url不知道怎麼填!

jdbc:microsoft:sqlserver://IP地址:埠號;DatabaseName=資料庫名稱

H. Java中如何實現與後台資料庫的連接

用JAVA連接資料庫主要有兩種方式,一是用JDBC-ODBC橋來連接,二是用相關廠商提供的相應驅動程序來連接,首先談談第一種連接。

JDBC-ODBC橋接器是用JdbcOdbc.Class和一個用於訪問ODBC驅動程序的本地庫實現的。對於WINDOWS平台,該本地庫是一個動態連接庫DLL(JDBCODBC.DLL)。

由於JDBC在設計上與ODBC很接近。在內部,這個驅動程序把JDBC的方法映射到ODBC調用上,這樣,JDBC就可以和任何可用的ODBC驅動程序進行交互了。這種橋接器的優點是,它使JDBC目前有能力訪問幾乎所有的資料庫。通行方式如圖所示:

應用程序---JDBC API---JDBC-ODBC---ODBC API---ODBC層---數據源

具體操作方法為:

首先打開控制面板的管理工具,打開數據源(ODBC),在用戶DSN裡面添加數據源(即你要連接的資料庫的名字),在這里假定連接SQL SERVER 2000的GoodsSupply資料庫。名稱填寫你要連接的資料庫的名稱(GoodsSupply),然後逐步設置,如果選用了使用SQL-SERVER密碼認證的話,就要輸入相應的用戶名及密碼連接到資料庫。一路下一步設置完成。

在JAVA裡面編寫程序進行測試,在這里我的程序是讓用戶輸入任意的表名與與列名,把該列的所有數據輸出。源代碼如下:

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.sql.*;

public class ODBCBridge {

public static void main(String[] args) {
String url="jdbc:odbc:GoodsSupply";
Statement sm=null;
String command=null;
ResultSet rs=null;
String tableName=null;
String cName=null;
String result=null;
BufferedReader input=new BufferedReader(new InputStreamReader(System.in));
try {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //載入驅動
}catch(ClassNotFoundException e){
System.out.println("Can not load Jdbc-Odbc Bridge Driver");
System.err.print("ClassNotFoundException:");
System.err.println(e.getMessage());
}
Connection con=DriverManager.getConnection(url,"USER","PASSWORD"); //使用SQL-SERVER2000認證
DatabaseMetaData dmd=con.getMetaData(); //DMD為連接的相應情況
System.out.println("連接的資料庫:"+dmd.getURL());
System.out.println("驅動程序:"+dmd.getDriverName());
sm=con.createStatement();
System.out.println("輸入表名");
tableName=input.readLine();
while(true) {
System.out.println("輸入列名(為空時程序結束):");
cName=input.readLine();
if(cName.equalsIgnoreCase(""))
break;
command="select "+cName+" from "+tableName;
rs=sm.executeQuery(command); //執行查詢
if(!rs.next())
System.out.println("表名或列名輸入有誤");
else {
System.out.println("查詢結果為:");
do
{
result=rs.getString(cName);
//資料庫語言設置為中文,不用轉換編碼
//result=new String(result.getBytes("ISO-8859-1"),"GB2312");
System.out.println(result);
}while(rs.next());
}
}
}catch(SQLException ex) {
System.out.println("SQLException:");
while(ex!=null) {
System.out.println("Message:"+ex.getMessage());
ex=ex.getNextException();
}
}catch(Exception e) {
System.out.println("IOException");
}
}
}

I. 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();
}
}
}