鏈接數據庫的操做 總結

鏈接數據庫須要通過如下幾個步驟: java

一、  根據驅動程序名稱driverName,利用Java反射機制,加載數據庫驅動程序; mysql

二、  根據鏈接字符串connectionURL,從驅動管理器中獲取數據庫鏈接對象; sql

三、  利用數據庫鏈接對象進行數據庫操做。 數據庫

代碼以下: 服務器

Class providerClass = Class.forName(driverName);

Connection = DriverManager.getConnection(connectionURL, username,password);

return connection ;


不一樣數據庫的驅動程序和鏈接字符串: 網絡

MySQL: oracle

驅動程序名稱 app

com.mysql.jdbc.Driver ide

鏈接字符串 sqlserver

jdbc:mysql://<IP>/<DB>?useUnicode=true&amp;characterEncoding=GBK


SQL Server:

驅動程序名稱

com.microsoft.jdbc.sqlserver.SQLServerDriver

鏈接字符串

jdbc:microsoft:sqlserver://<IP>:1433DatabaseName=<DB>


Oracle

驅動程序名稱

oracle.jdbc.driver.OracleDriver

鏈接字符串

jdbc:oracle:thin:@<IP>:1521:<DB>


DB2:DB2的JSP鏈接方式有APP驅動、NET驅動和JCC驅動三種方式。

    APP方式:

驅動程序名稱

COM.ibm.db2.jdbc.app.DB2Driver

鏈接字符串

jdbc:db2:<DB>   

   

    NET方式:

驅動程序名稱

COM.ibm.db2.jdbc.net.DB2Driver

鏈接字符串

jdbc:db2://<IP>:6789/<DB>

   

    JCC方式:

驅動程序名稱

COM.ibm.db2.jdbc.jcc.DB2Driver

鏈接字符串

jdbc:db2://<IP>:50000/<DB>


鏈接數據庫常見問題:

一、    系統拋出異常java.lang.ClassNotFoundException。例如:

           java.lang.ClassNotFoundExceptioncom.mysql.jdbc.Driver

這說明試圖初始化驅動程序的時候出錯,在Class.forName()中,Java虛擬機沒法在類路徑中找到指定驅動名稱的驅動類。須要把包含驅動類的 mysql-connector-java-x.xx.xx-bin.jar 文件放置在運行的類路徑WEB-INF/lib下。

二、  系統拋出異常java.net.SocketException:Connection Refused,鏈接被拒絕。

     1)  若是數據庫服務器未開啓或沒法創建鏈接,則拋出異常以下:

                java.net.SocketExceptionjava.net.ConnectionExceptionConnection                 refusedconnect

         首先肯定鏈接字符串中的URL配置中IP是否正確,端口是否正確,同時須要確保服務器已經啓動接受服務請求。

     2)  若是肯定服務器已經啓動,那麼能夠查看配置,看數據庫對外服務的端口是否爲默認端口,抑或有所改動。

     3)  若是服務器已經啓動,並且採用了默認端口,那麼須要查證服務器上是否安裝了網絡防火牆,阻斷了數據庫鏈接請求。

三、  若是調用DriverManager.getConnection(connectionURL,username,password)usernamepassword不正確,那麼驅動程序將拋出以下異常:

java.sql.SQLExceptionAccess denied for user ‘root’@’localhost’(using passwordYES)

須要修改用戶名和口令後從新進行鏈接。

四、  因爲數據庫驅動和數據庫服務器的版本不匹配,致使了鏈接失敗。

相關文章
相關標籤/搜索