免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
Eclipse JDBC 驅(qū)動(dòng)程序設(shè)置

Eclipse JDBC 驅(qū)動(dòng)程序設(shè)置

本文中我們介紹在Eclipse 3.2中怎樣設(shè)置和測(cè)試Oracle和SQLServer的JDBC驅(qū)動(dòng)程序,以及故障排除。

以下對(duì)數(shù)據(jù)庫(kù)的操作以SQL Server2000和Oracle 10g為例。

一、  從Oracle和Microsift網(wǎng)站上下載JDBC驅(qū)動(dòng)程序

       下載Oracle JDBC驅(qū)動(dòng)程序

1.      網(wǎng)址:

http://www.oracle.com/technology/global/cn/software/tech/java/sqlj_jdbc/index.html

2.      在Eclipse安裝目錄,例如D:\lecture\JAVA\Eclipse\eclipse下創(chuàng)建路徑:

D:\lecture\JAVA\Eclipse\eclipse\jdbc\OracleJDBC\lib。

3.      下載4個(gè)java歸檔文件放入其中:

1)      ocrs12.jar

2)      ojdbc14.jar

3)      ojdbc14dms.jar

4)      orai18n.jar

 

       下載SQL Server 2000 Driver for JDBC Service Pack 3,支持JDK1.4

1.      網(wǎng)址:

http://www.microsoft.com/downloads/details.aspx?FamilyID=07287b11-0502-461a-b138-2aa54bfdc03a&displaylang=en

2.      執(zhí)行setup.exe安裝SQL Server JDBC驅(qū)動(dòng)程序。在安裝目錄下有幫助文件。

3.      在Eclipse安裝目錄,例如D:\lecture\JAVA\Eclipse\eclipse下創(chuàng)建路經(jīng):

D:\lecture\JAVA\Eclipse\eclipse\jdbc\SQLServerJDBC\lib。

4.      將setup.exe安裝的下面3個(gè)java歸檔文件放入其中:

1)      msbase.jar

2)      mssqlserver.jar

3)      msutil.jar

二、   在項(xiàng)目庫(kù)中導(dǎo)入驅(qū)動(dòng)程序庫(kù)

1.      創(chuàng)建新項(xiàng)目。文件 > 新建 > 項(xiàng)目 >打開(kāi)新建項(xiàng)目對(duì)話框。

 

 

2.      選擇Java項(xiàng)目 > 下一步 >打開(kāi)新建Java項(xiàng)目對(duì)話框。

 

 

3.      輸入項(xiàng)目名JDBCTest > 完成。

4.      打開(kāi)導(dǎo)航器窗口,檢查新創(chuàng)建的項(xiàng)目。

 

 

三、   用于測(cè)試連接的代碼示例

       用于SQL Server的測(cè)試連接的代碼示例

安裝了 Microsoft SQL Server 2000 JDBC驅(qū)動(dòng)程序后,可以通過(guò)兩種方式從您的程序連接到數(shù)據(jù)庫(kù):使用連接 URL,或使用 JNDI 數(shù)據(jù)源。本文介紹如何使用連接 URL配置和測(cè)試數(shù)據(jù)庫(kù)連接。

連接到數(shù)據(jù)庫(kù)的一種方法是通過(guò) JDBC 驅(qū)動(dòng)程序管理器,使用 DriverManager 類(lèi)的 getConnection方法。使用此方法時(shí),最簡(jiǎn)單的方式是使用一個(gè)包含 URL、用戶名和密碼的字符串參數(shù)。下面介紹如何從 JDBC 程序載入Microsoft SQL Server 2000 JDBC 驅(qū)動(dòng)程序。

 

創(chuàng)建測(cè)試類(lèi)

1.      右擊新建的項(xiàng)目JDBCTest > 新建 > 包>打開(kāi)新建Java對(duì)話框。

 

 

2.      在名稱(chēng)欄輸入testJDBC > 完成。

3.      右擊新建的包testJDBC > 新建 > 類(lèi)> 打開(kāi)新建Java類(lèi)對(duì)話框。

4.      在名稱(chēng)欄輸入SQLServerJDBCTest >完成。

 

 

添加庫(kù)

要將JAR文件添加到現(xiàn)有應(yīng)用程序中。

1.      右擊項(xiàng)目JDBCTest > 屬性 >打開(kāi)JDBCTest的屬性對(duì)話框。

 

2.      在左邊的窗格中選擇Java構(gòu)建路徑 >在右邊的窗格中選擇庫(kù)標(biāo)簽

3.      單擊按鈕添加外部JAR > 選擇前面下載的3個(gè)SQL ServerJDBC驅(qū)動(dòng)程序的JAR文件 > 確定。

 

注冊(cè)驅(qū)動(dòng)程序

注冊(cè)驅(qū)動(dòng)程序的目的是為了通知 JDBC 驅(qū)動(dòng)程序管理器載入哪個(gè)驅(qū)動(dòng)程序。當(dāng)使用class.forName 函數(shù)載入驅(qū)動(dòng)程序時(shí),您必須指定驅(qū)動(dòng)程序的名稱(chēng)。以下是 Microsoft SQL Server 2000JDBC 驅(qū)動(dòng)程序的名稱(chēng):

com.microsoft.jdbc.sqlserver.SQLServerDriver

下面的代碼示例演示如何注冊(cè)驅(qū)動(dòng)程序:

Driver d =(Driver)Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();

 

傳遞連接 URL

必須以連接 URL 的形式傳遞數(shù)據(jù)庫(kù)連接信息。以下是 Microsoft SQL Server2000 JDBC 驅(qū)動(dòng)程序的模板 URL。請(qǐng)用您數(shù)據(jù)庫(kù)的值替換以下值:

jdbc:microsoft:sqlserver://servername:1433

下面的代碼示例演示如何指定連接 URL:

con =DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433","userName", "password");

 

服務(wù)器名稱(chēng)值可以是 IP 地址或主機(jī)名(假定您的網(wǎng)絡(luò)可以將主機(jī)名解析為 IP地址)。您可以通過(guò)對(duì)主機(jī)名執(zhí)行 PING 命令來(lái)進(jìn)行測(cè)試,驗(yàn)證是否可以接收到響應(yīng),以及響應(yīng)的 IP 地址是否正確。

 

服務(wù)器名稱(chēng)后面的數(shù)字值是數(shù)據(jù)庫(kù)偵聽(tīng)的端口號(hào)。上文列出的值是示例默認(rèn)值。確保用您的數(shù)據(jù)庫(kù)使用的端口號(hào)替換該值。

 

要獲取連接 URL 參數(shù)的完整列表,請(qǐng)參見(jiàn) Microsoft SQL Server 2000JDBC 驅(qū)動(dòng)程序 HTML 幫助,或參見(jiàn)聯(lián)機(jī)指南。請(qǐng)參見(jiàn)“連接字符串屬性”一節(jié)。

下面的代碼示例嘗試連接到數(shù)據(jù)庫(kù),并顯示數(shù)據(jù)庫(kù)名稱(chēng)、版本和可用編目。請(qǐng)用您服務(wù)器的值替換代碼中的服務(wù)器屬性:

package testJDBC;

 

public class SQLServerJDBCTest {

    privatejava.sql.Connection  con = null;

    privatefinal String url = "jdbc:microsoft:sqlserver://";

    privatefinal String serverName= "localhost";

    privatefinal String portNumber = "1433";

    privatefinal String databaseName= "pubs";

    privatefinal String userName = "sa";

    privatefinal String password = "wyfd";

    //告訴驅(qū)動(dòng)器使用服務(wù)器端游標(biāo),

    //它允許在一個(gè)連接上的多個(gè)活動(dòng)語(yǔ)句。

    privatefinal String selectMethod = "cursor";

   

    privatejava.sql.Connection getConnection(){

       try{

         // A. 注冊(cè) SQL Server JDBC 驅(qū)動(dòng)程序

         Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

         // B. 創(chuàng)建新數(shù)據(jù)庫(kù)連接

         con =java.sql.DriverManager.getConnection(getConnectionUrl(),userName,password);

         if(con!=null) System.out.println("Connection Successful!");

       }catch(Exception e){

         e.printStackTrace();

         System.out.println("Error Trace in getConnection() : " +e.getMessage());

       }

       return con;

     }

     

     private String getConnectionUrl(){

       returnurl+serverName+":"+portNumber+";databaseName="+databaseName+";selectMethod="+selectMethod+";";

     }

     

     private void closeConnection(){

       try{

         if(con!=null)

           con.close();

         con=null;

         }catch(Exception e){

           e.printStackTrace();

         }

     }

 

     

     public void displayDbProperties(){

       java.sql.DatabaseMetaData dm = null;

       java.sql.ResultSet rs = null;

         try{

           con= this.getConnection();

           if(con!=null){

             dm = con.getMetaData();

             System.out.println("驅(qū)動(dòng)器信息:");

             System.out.println("\t驅(qū)動(dòng)器名字: "+ dm.getDriverName());

             System.out.println("\t驅(qū)動(dòng)器版本: "+ dm.getDriverVersion ());

             System.out.println("\n數(shù)據(jù)庫(kù)信息: ");

             System.out.println("\t數(shù)據(jù)庫(kù)名字: "+ dm.getDatabaseProductName());

             System.out.println("\t數(shù)據(jù)庫(kù)版本: "+dm.getDatabaseProductVersion());

             System.out.println("顯示可用的數(shù)據(jù)庫(kù)目錄:");

             rs = dm.getCatalogs();

             while(rs.next()){

               System.out.println("\tcatalog: "+ rs.getString(1));

             }

             //rs = dm.getTables("ckgl",null,"ckgl","TABLE").getCatalogs();

             while(rs.next()){

               System.out.println("\tcatalog: "+ rs.getString(1));

             }

             rs.close();

             rs = null;

             closeConnection();

           }else System.out.println("Error: No active Connection");

         }catch(Exception e){

         e.printStackTrace();

         }

         dm=null;

     }

 

     public static void main(String[] args) {

         SQLServerJDBCTest sQLServerJDBCTest = new SQLServerJDBCTest();

         sQLServerJDBCTest.displayDbProperties();

     }

}

 

如果此代碼運(yùn)行成功,其輸出結(jié)果應(yīng)類(lèi)似于以下內(nèi)容:

IWAV0055I Java Bean testJDBC.SQLServerJDBCTest started with themain method

Connection Successful!

驅(qū)動(dòng)器信息:

    驅(qū)動(dòng)器名字:SQLServer

    驅(qū)動(dòng)器版本:2.2.0040

 

數(shù)據(jù)庫(kù)信息:

    數(shù)據(jù)庫(kù)名字:Microsoft SQL Server

    數(shù)據(jù)庫(kù)版本:Microsoft SQL Server  2000 - 8.00.2039 (IntelX86)

   May  3 2005 23:18:38

    Copyright(c) 1988-2003 Microsoft Corporation

    PersonalEdition on Windows NT 5.1 (Build 2600: Service Pack 2)

 

顯示可用的數(shù)據(jù)庫(kù)目錄:

    catalog:ckgl

    catalog:coal

    catalog:master

    catalog:msdb

    catalog:Northwind

    catalog:pubs

    catalog:student

    catalog:tempdb

 

有關(guān)排除連接故障的基本信息

下面是嘗試連接到 SQL 服務(wù)器時(shí)常見(jiàn)的錯(cuò)誤信息:

java.sql.SQLException:[Microsoft][SQLServer 2000 Driver forJDBC][SQLServer]Login failed for user 'user'.Reason:Not associatedwith a trusted SQL Server connection.

如果將 SQL Server 2000 的驗(yàn)證模式設(shè)置為“Windows驗(yàn)證模式”,則會(huì)出現(xiàn)此錯(cuò)誤信息。Microsoft SQL Server 2000 JDBC 驅(qū)動(dòng)程序不支持使用 Windows NT驗(yàn)證進(jìn)行連接。您必須將 SQL Server 的驗(yàn)證模式設(shè)置為“混合模式”,該模式既允許 Windows 驗(yàn)證,也允許 SQLServer 驗(yàn)證。

java.sql.SQLException:[Microsoft][SQLServer 2000 Driver forJDBC]This version of the JDBC driver only supports Microsoft SQLServer 2000. You can either upgrade to SQL Server 2000 or possiblylocate another version of the driver.

當(dāng)您嘗試連接到 SQL Server 2000 以前的 SQL Server版本時(shí),則會(huì)出現(xiàn)此錯(cuò)誤信息。Microsoft SQL Server 2000 JDBC 驅(qū)動(dòng)程序僅支持與 SQL Server2000 進(jìn)行連接。

 

       用于Oracle的測(cè)試連接的代碼示例

import java.sql.Connection;

import java.sql.DatabaseMetaData;

import java.sql.DriverManager;

import java.sql.SQLException;

package testJDBC;

 

import java.sql.Connection;

import java.sql.DatabaseMetaData;

import java.sql.DriverManager;

import java.sql.SQLException;

 

public class OracleJDBCTest {

    publicstatic void main(String[] args) throws SQLException,ClassNotFoundException  {

       // A. 注冊(cè) Oracle JDBC 驅(qū)動(dòng)程序。下面兩種方法都可以

       //DriverManager.registerDriver(neworacle.jdbc.driver.OracleDriver());

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

       // B. 創(chuàng)新新數(shù)據(jù)庫(kù)連接

       Connection conn =DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:oract","hr", "hr");

       // C. 取得連接數(shù)據(jù)(元數(shù)據(jù))

       DatabaseMetaData md = conn.getMetaData();

       System.out.println("數(shù)據(jù)庫(kù)版本:");

       System.out.println("------------------------------------------------");

       System.out.println(md.getDatabaseProductVersion());

       System.out.println();

       System.out.println("驅(qū)動(dòng)程序名稱(chēng)與版本:");

       System.out.println("------------------------------------------------");

       System.out.print(md.getDriverName() + " " +md.getDriverVersion());

       // D. 關(guān)閉數(shù)據(jù)庫(kù)連接

       conn.close();

    }

}

不要忘記添加前面下載的4個(gè)Oracle JDBC庫(kù)文件。

如果此代碼運(yùn)行成功,其輸出結(jié)果應(yīng)類(lèi)似于以下內(nèi)容:

數(shù)據(jù)庫(kù)版本:

------------------------------------------------

IWAV0055I Java Bean testJDBC.OracleJDBCTest started with themain method

數(shù)據(jù)庫(kù)版本:

------------------------------------------------

Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 -Production

With the Partitioning, OLAP and Data Mining options

 

驅(qū)動(dòng)程序名稱(chēng)與版本:

------------------------------------------------

Oracle JDBC driver 10.1.0.5.0

 

注意:有時(shí)連接錯(cuò)誤是由防火墻造成的,所以在用JDBC進(jìn)行數(shù)據(jù)庫(kù)開(kāi)發(fā)時(shí)要關(guān)閉防火墻,包括winXP自帶的防火墻。

 

[參考文獻(xiàn)]

1.      Eclipse 3.2 幫助

2.      如何開(kāi)始使用 MicrosoftJDBC,http://support.microsoft.com/default.aspx?scid=kb;zh-cn;313100

 

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
JDBC詳解
JDBC學(xué)習(xí)筆記
Eclipse中插件開(kāi)發(fā)之SQLExplorer,JSP學(xué)習(xí)
數(shù)據(jù)庫(kù)--存儲(chǔ)過(guò)程簡(jiǎn)介
JAVA連接ORACLE數(shù)據(jù)庫(kù)
使用 JDBC 創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服