您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關JDBC的實例分析的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
JDBC實例前提:
1.SQL Server 2000 任意版本 //本人用的是企業版
2.SQL Server 2000 sp3升級包
你可以在這里下載http://www.bossed.com.cn/download/detailcp.asp?id=74
3.SQL Server 2000 jdbc 驅動 //這個就需要自己找了!
4.jdk1.4 //以下的例子是該版本
在以上條件滿足的情況下,作以下事情
1.建立新數據庫名為:jspdev ,并在其中建立一個名為userinfo的表
包括以下幾列(Sno,Sname,Sage,Ssex,Sclass)
2.開始編寫你自己的連接數據庫的類(我這里是借鑒他人的版權不歸我所有),你也可以用自己的方法
import java.sql.*; class Testj{ public static void main(String args[]) { String RL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=TESTDB"; String user ="jack";//這里替換成你自已的數據庫用戶名 String password = "jack";//這里替換成你自已的數據庫用戶密碼 String sqlStr = "select * from test_student"; try{ //這里的異常處理語句是必需的.否則不能通過編譯! Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); System.out.println( "類實例化成功!" ); System.out.println("slkdjf"); Connection con = DriverManager.getConnection(RL,user,password); System.out.println( "創建連接對像成功!" ); Statement st = con.createStatement(); System.out.println( "創建Statement成功!" ); ResultSet rs = st.executeQuery( sqlStr ); System.out.println( "操作數據表成功!" ); 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); } } }
下面進行調試:
javac Testj.java
java Testj
如果JDBC實例正確輸出應該是:
類實例化成功!
slkdjf
創建連接對像成功!
創建Statement成功!
操作數據表成功!
----------------!
2000 海拔 21 男 12
注意:這里有幾點要說明
1.路徑問題:
你必須配置你的classpath路徑否則他在編譯時會報錯
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)
你的路徑應該是這樣配置:你可以在在安裝jdbc驅動后看那里的幫助文檔(是英文的);
//這里指在xp系統下 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;
可千萬不要寫錯喲!
2.sp3補丁包問題:
如果你在編譯時出現下列問題 那么你需要下載并安裝sp3補丁包
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.權限問題
如果你出現類似這樣的問題
類實例化成功!
slkdjf java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]用戶 'jack' 登錄失敗。 原因: 未與信任 SQL Server 連接相關聯。 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)
原困是未設置SQL Server登錄認證模式為混合認證模式,因為SQL Server默認安裝后認證模式為WINDOWS認證模式,從而導致出錯。
JDBC實例問題解決方法:啟動SQLSERVER企業管理器,選擇要進行認證模式設置的服務器。右擊該服務器,在彈出菜單中選擇屬性,SQL Server將彈出屬性對話框在屬性對話框中選擇安全性選項,在身份驗證處選擇“SQL Server和Windows”,然后確定。
感謝各位的閱讀!關于“JDBC的實例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。