一个不知名的网站复制来的: java怎样连接到SQL server 2008
教程:java怎樣連接到SQL server 2008
為了寫學(xué)校的實(shí)訓(xùn)課作業(yè),想給數(shù)據(jù)庫(kù)加個(gè)前端口,結(jié)果為了看似簡(jiǎn)單的java連解sql server 2008,剛才試驗(yàn)了不知道多少次,來(lái)來(lái)回回?cái)?shù)不清了,而且在最近只能單手操作的情況下,不過(guò)憑借比小強(qiáng)還頑強(qiáng)的毅力,我終于成功了,特此在這里,寫一篇教程給還未成功的人以啟迪之用,可以避免走很多彎路,因?yàn)檫@里面涉及了的東西還比較多.
首先,從需要的工具入手,當(dāng)然,在此之前,你首先得有安裝好的SQL SERVER2008,JDK,最好有個(gè)Eclipse.
先去網(wǎng)上下載一個(gè)JDBC sql server的驅(qū)動(dòng),只是必須的,而且簡(jiǎn)單之至,我下載到的是個(gè)壓縮包,解壓就可以得到sqljdbc4.jar,貌似其他下載下來(lái)要安裝,不過(guò)這些都不是問(wèn)題,關(guān)鍵是后面.對(duì)sqljdbc4.jar的位置,因?yàn)檫@個(gè)sqljdbc4.jar,也是要配置環(huán)境變量的,你可以將這個(gè)文件放在java的lib文件里面和tool.jar一起, (注意:原來(lái)Classpath里面對(duì)于tool.jar的配置是"C:\Program Files\Java\jdk1.7.0_45\lib"類型的,如果寫的太詳細(xì)的,如"C:\Program Files\Java\jdk1.7.0_45\lib\tool.jar"的改為前者,不然到時(shí)會(huì)找不到sqljdbc4) , 網(wǎng)上有的說(shuō)的是直接將其原始文件安裝到新的目錄下,這樣雖然可以鞏固復(fù)習(xí)怎樣環(huán)境變量,不過(guò)太費(fèi)時(shí)間.直接放一起很省事. ?最后不要忘了 把下載文件中的 "sqljdbc_auth.dll" 放在C盤里面的windows的system32里面. ?好了,剩下的就是配置了.....看起來(lái)簡(jiǎn)單,可能直接去網(wǎng)上找教程能把人郁悶致死,因?yàn)槎贾v的差不多,有很多遺漏之處...
首先,打開(kāi)你的控制面板,找到 '程序與功能'--'打開(kāi)或關(guān)閉windows功能',然后在對(duì)話框里面勾選"Telent",不然待會(huì)兒在cmd里面的驗(yàn)證(驗(yàn)證完后再回來(lái)把勾選去掉,主要是和安全性有關(guān),是Internet遠(yuǎn)程登陸服務(wù)的標(biāo)準(zhǔn)協(xié)議和主要方式)會(huì)出現(xiàn)"telnet既不是內(nèi)部或外部命令", 現(xiàn)在,去在eclipse中新建項(xiàng)目,命名Test,然后,展開(kāi)項(xiàng)目Test,在JRE系統(tǒng)庫(kù)右擊,選擇--"構(gòu)建路徑"---"構(gòu)建新的路徑"---"添加外部"---找到 sqljdbc4.jar添加.好了之后.在Test項(xiàng)目里面可以看到增加了一個(gè)新的子目錄"引用的庫(kù)"里面就有剛才的sqljdbc4.jar. ?現(xiàn)在開(kāi)始在Test項(xiàng)目新建一個(gè)類,輸入以下代碼(測(cè)試是否連接上數(shù)據(jù)庫(kù)之用)
?
代碼:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class SqlServerJDBC2008 {
public static void main(String[] args) {
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
//String driver="com.microsoft.sqlserver.SQLServerDriver";
//String driver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
String driver="com.microsoft.sqlserver.jdbc.SQLServerDriver";
String url="jdbc:sqlserver://localhost:1433;DatabaseName=demo";
String user="sa";
String pwd="123456";
try {
Class.forName(driver);
conn=DriverManager.getConnection(url,user,pwd);
String sql="select * from demo";
stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
while (rs.next()){
int id=rs.getInt(1);
String name=rs.getString(2);
String password=rs.getString(3);
System.out.println(id+"\t"+name+"\t"+password);
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}finally{
try {
rs.close();
stmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
當(dāng)然你現(xiàn)在直接成功的概率特別小,除非之前有過(guò)類似操作,從這里之后,最主要就是對(duì)于sql server2008的設(shè)置了,現(xiàn)在不去講網(wǎng)上的方法了,費(fèi)時(shí),也不打出遇到的錯(cuò)誤提示了,主要是打字太累, 。
首先,打開(kāi)你的sql server,想我是用windows直接不輸入密碼連接進(jìn)去的, 如果sqlserver驗(yàn)證模式?,在你安裝sql server2008 過(guò)程中沒(méi)有設(shè)置-成windows身份集成和sqlserver驗(yàn)證模式?都登錄的話,那么先用windows身份?進(jìn)去,再在sql server2008 ?里面的點(diǎn)開(kāi)"安全性"--"登錄名",右擊'sa'(可以新建一個(gè),sa為默認(rèn)的)--"屬性"---"狀態(tài)" ,再選擇"授予"和"啟用"(在屬性里面可以設(shè)置密碼). ?現(xiàn)在再退出sql server2008,再用sqlserver驗(yàn)證模式,就可以連接進(jìn)去了(不然一切就緒就是用java 登錄不進(jìn)去).
點(diǎn)擊??開(kāi)始---所有程序---找到sql2008的--配置工具---sql server配置管理器,找里面的,將VIA(自己去找,只有3個(gè))禁用,TCP/IP開(kāi)啟(自己找,也有幾個(gè)),但是在"SQLServer網(wǎng)絡(luò)配置"里面點(diǎn)擊"MSSQL SERVER的協(xié)議"的TCP/IP的屬性里面,有IP設(shè)置,把IP1到IP6的否改為是,tcp端口為1433(默認(rèn)),最后一個(gè)IPALL,動(dòng)態(tài)端口和端口改為1433. 然后停止SQLServer(MSSQLSVERVER),再啟動(dòng),在這里要去檢查VIA是不是還是禁止?fàn)顟B(tài),如果不是,就進(jìn)不到SQLServer. ?這里弄好之后,就進(jìn)入cmd,輸入telnet localhost 1433,如果什么都沒(méi)有有了,只是黑色,就成功了.說(shuō)明可以用了, 現(xiàn)在在進(jìn)入eclipse,運(yùn)行,你就會(huì)看到"Connection Successful!",,,而不是失敗的一大串錯(cuò)誤提示,,可能上面方法有不足之處,僅供參考學(xué)習(xí)之用.
以上是給大家?guī)?lái)java怎樣連接到SQL server 2008的內(nèi)容,希望大家繼續(xù)支持我們的51精品學(xué)習(xí)網(wǎng)。
附加一下自己的jar包給http://download.csdn.net/detail/u014596302/9675344
總結(jié)
以上是生活随笔為你收集整理的一个不知名的网站复制来的: java怎样连接到SQL server 2008的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 读博是围城吗?为什么很多读博的人都觉得自
- 下一篇: 正则总结(Python)