溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

JDBC的實(shí)例分析

發(fā)布時(shí)間:2021-12-14 11:20:49 來(lái)源:億速云 閱讀:172 作者:小新 欄目:編程語(yǔ)言

這篇文章給大家分享的是有關(guān)JDBC的實(shí)例分析的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來(lái)看看吧。

JDBC實(shí)例前提

1.SQL Server 2000 任意版本     //本人用的是企業(yè)版

2.SQL Server 2000 sp3升級(jí)包

你可以在這里下載http://www.bossed.com.cn/download/detailcp.asp?id=74

3.SQL Server 2000 jdbc 驅(qū)動(dòng)   //這個(gè)就需要自己找了!

4.jdk1.4 //以下的例子是該版本

在以上條件滿足的情況下,作以下事情

1.建立新數(shù)據(jù)庫(kù)名為:jspdev ,并在其中建立一個(gè)名為userinfo的表

包括以下幾列(Sno,Sname,Sage,Ssex,Sclass) 

2.開始編寫你自己的連接數(shù)據(jù)庫(kù)的類(我這里是借鑒他人的版權(quán)不歸我所有),你也可以用自己的方法

import java.sql.*;  class Testj{       public static void main(String args[])       {             String RL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=TESTDB";           String user ="jack";//這里替換成你自已的數(shù)據(jù)庫(kù)用戶名           String password = "jack";//這里替換成你自已的數(shù)據(jù)庫(kù)用戶密碼           String sqlStr = "select * from test_student";            try{     //這里的異常處理語(yǔ)句是必需的.否則不能通過編譯!                   Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");               System.out.println( "類實(shí)例化成功!" );               System.out.println("slkdjf");               Connection con = DriverManager.getConnection(RL,user,password);               System.out.println( "創(chuàng)建連接對(duì)像成功!" );                Statement st = con.createStatement();               System.out.println( "創(chuàng)建Statement成功!" );                ResultSet rs = st.executeQuery( sqlStr );               System.out.println( "操作數(shù)據(jù)表成功!" );               System.out.println( "----------------!" );                while(rs.next())               {                   System.out.print(rs.getInt("Sno") + "     ");                   System.out.print(rs.getString("Sname") + "     ");                   System.out.print(rs.getInt("Sage") + "     ");                   System.out.print(rs.getString("Ssex") + "     ");                   System.out.println(rs.getString("Sclass"));               }               rs.close();               st.close();               con.close();           }           catch(Exception err){               err.printStackTrace(System.out);           }       }  }

下面進(jìn)行調(diào)試:

javac Testj.java

java Testj

如果JDBC實(shí)例正確輸出應(yīng)該是:

類實(shí)例化成功!

slkdjf

創(chuàng)建連接對(duì)像成功!

創(chuàng)建Statement成功!

操作數(shù)據(jù)表成功!

----------------!

2000     海拔               21     男     12       

注意:這里有幾點(diǎn)要說明

1.路徑問題:

你必須配置你的classpath路徑否則他在編譯時(shí)會(huì)報(bào)錯(cuò)   

java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver          at java.net.URLClassLoader$1.run(URLClassLoader.java:199)          at java.security.AccessController.doPrivileged(Native Method)          at java.net.URLClassLoader.findClass(URLClassLoader.java:187)          at java.lang.ClassLoader.loadClass(ClassLoader.java:289)          at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)          at java.lang.ClassLoader.loadClass(ClassLoader.java:235)          at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)          at java.lang.Class.forName0(Native Method)          at java.lang.Class.forName(Class.java:141)          at Test.main(Test.java:11)

你的路徑應(yīng)該是這樣配置:你可以在在安裝jdbc驅(qū)動(dòng)后看那里的幫助文檔(是英文的);

//這里指在xp系統(tǒng)下  classpath = .;G:\Microsoft SQL Server 2000 \Driver for JDBC\lib\msbase.jar;                 G:\Microsoft SQL Server 2000 \Driver for JDBC\lib\mssqlserver.jar;                 G:\Microsoft SQL Server 2000 \Driver for JDBC\lib\msutil.jar;

可千萬(wàn)不要寫錯(cuò)喲!

2.sp3補(bǔ)丁包問題:

如果你在編譯時(shí)出現(xiàn)下列問題 那么你需要下載并安裝sp3補(bǔ)丁包

java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establis  ng socket.         at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)         at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)         at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)         at com.microsoft.jdbc.sqlserver.tds.TDSConnection.(Unknown Source)         at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)         at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)         at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)         at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)         at java.sql.DriverManager.getConnection(Unknown Source)         at java.sql.DriverManager.getConnection(Unknown Source)         at Test.main(Test.java:14)

3.權(quán)限問題   

如果你出現(xiàn)類似這樣的問題

類實(shí)例化成功!

slkdjf  java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]用戶 'jack' 登錄失敗。  原因: 未與信任 SQL Server 連接相關(guān)聯(lián)。       at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)       at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)       at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown Source)       at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown Source)       at com.microsoft.jdbc.sqlserver.tds.TDSLoginRequest.processReplyToken(Unknown Source)       at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source)       at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)       at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)       at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)       at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)       at java.sql.DriverManager.getConnection(DriverManager.java:512)       at java.sql.DriverManager.getConnection(DriverManager.java:171)       at Testj.main(Testj.java:14)

原困是未設(shè)置SQL Server登錄認(rèn)證模式為混合認(rèn)證模式,因?yàn)镾QL Server默認(rèn)安裝后認(rèn)證模式為WINDOWS認(rèn)證模式,從而導(dǎo)致出錯(cuò)。

JDBC實(shí)例問題解決方法:啟動(dòng)SQLSERVER企業(yè)管理器,選擇要進(jìn)行認(rèn)證模式設(shè)置的服務(wù)器。右擊該服務(wù)器,在彈出菜單中選擇屬性,SQL Server將彈出屬性對(duì)話框在屬性對(duì)話框中選擇安全性選項(xiàng),在身份驗(yàn)證處選擇“SQL Server和Windows”,然后確定。

感謝各位的閱讀!關(guān)于“JDBC的實(shí)例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI