標籤:android blog http os io 使用 java ar for
Eclipse中串連Sql Sever2008
-----轉自Yogurshine
一 SQl Sever伺服器配置
1我之前已經安裝好SQL Sever 2008R2.(注意:安裝一遍未成功時,一定要卸載乾淨,否則裝不全,折騰好久)
2.串連伺服器時一般都多個選擇:(這個伺服器名稱,就是安裝時設定的資料庫執行個體,預設的執行個體有使用者名稱MIT-PC和MTI-PC\SqLEXPRESS,有的安裝好後只有使用者名稱這個執行個體,不影響選擇使用者名稱執行個體就可以了。)
3。 一般JSP操作時多選擇SQLexpress伺服器,但是它預設是禁用的並且連接埠號碼沒有配置,所以JDBC串連SQL Server時要進行重新設定,配置如下:
開啟SQl Sever 組態管理員,SQLEXPRESS的協議中開啟TCP/IP設定IPAll的TCP動態連接埠為1433.(有的是下面的TCP連接埠預設是1433,注意系統不能有連接埠衝突,沒試過不知道設為其他行不,我一次就成功了)重啟生效。還要注意:右邊列的前三個協議都是開啟的,VIA是禁用的。
4.用windows身分識別驗證先進入。(這個是無論如何預設都能進去的,如果進不去就是沒安裝好。重裝。進去後設定添加使用者,設定使用者權限,設定好才能按下面的SQL Sever身分識別驗證登入,也就是說為任何資料庫添加的使用者佈建許可權時都是在windows身分識別驗證進入下進行的,如果是SQL Sever身分識別驗證登入設定修改許可權時一般會報的錯。
)
繼續本文:
進入後,建立資料庫sample,添加使用者test,設定
設定好後,重啟用SQL Sever身分識別驗證,試試上面設定的使用者,登陸成功。至此SQLexpress伺服器配置完畢。
5.另一種我自己安裝時建立的資料庫執行個體SQLLEI也可以使用,基本設定同上面。此處連接埠是預設的50573
用我設定的使用者jsptest登入成功
建立了資料庫和表,方便下面在JAVA中測試。
建立了資料庫JspDB,建立了表aaaa,添加的使用者jsptest
幾點注意:1.使用者和資料庫要映射起來,表示此使用者可以訪問操作該資料庫。
2.資料庫名,表名不能使用保留的名字,如之前我表名取為User,結果一直報錯。
二 JDBC串連SQL Server的驅動安裝
1.下載:http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=11774
下載“sqljdbc_4.0.2206.100_enu.exe”得到sqljdbc_4.0.2206.100_enu.exe,解壓到任意目錄下。並在目錄裡找到sqljdbc4.jar檔案,得到其路徑開始配置環境變數
在環境變數classpath 後面追加C:\lei\Android\sqljdbc_4.0\enu\sqljdbc4.jar(注意目錄裡有兩個jar包,一般Sql Sever 2000後都是用sqljdbc4.jar。
三 在JAVA中匯入包,測試。
1 window->Preference-->Java->installed JRE-->Edit-->Add External Jars,尋找目錄添加sqljdbc4.jar
2 建立JAVA Project,
package lei.com.cn;import java.sql.*;//在使用JDBC之前,要在檔案前置入有關SQL的類。public class test { public static void main(String[] args) { // TODO Auto-generated method stub //取得資料庫的串連 String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";//載入JDBC驅動" String dbURL="jdbc:sqlserver://localhost:50573; DatabaseName=JspDB"; //JDBC協議 String userName = "jsptest"; //使用者名稱 (確保該使用者和資料庫有映射關係,即有許可權訪問) String userPwd = "*********"; //密碼 Connection dbConn=null; try { Class.forName(driverName); dbConn = DriverManager.getConnection(dbURL, userName, userPwd); //串連伺服器和資料庫JspDB System.out.println("Connection Successful!"); //如果串連成功 控制台輸出Connection Successful! } catch (Exception e) { e.printStackTrace(); } //建立Statement對象 Statement st=null;//Statement 提供執行基本SQL語句操作的功能 try { st = dbConn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } //執行SQL語句 String sql="select * from aaaa"; ResultSet rs=null;//儲存返回的結果集 try { rs = st.executeQuery(sql);//用Statement執行個體的executeQuery()方法執行SQL語句 } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } //獲得查詢結果 try { while(rs.next()){ System.out.println("第一個欄位內容為:"+rs.getString(1)); System.out.println("第二個欄位內容為:"+rs.getString(2)); System.out.println("第三個欄位內容為:"+rs.getString(3)); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println("操作成功!"); //關閉建立的對象(後開啟先關閉) try { rs.close(); st.close(); dbConn.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
測試結果:
Connection Successful!
第一個欄位內容為:1
第二個欄位內容為:Admin
第三個欄位內容為:Admin
第一個欄位內容為:2
第二個欄位內容為:lei
第三個欄位內容為:123
第一個欄位內容為:3
第二個欄位內容為:hehe
第三個欄位內容為:456
操作成功!
PS:如果你以前用JDBC串連SQL Server 2000的話就要注意了:
在SQL Server 2000 中載入驅動和URL路徑的語句是
String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String dbURL = "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=sample";
而sql server 2005 中載入驅動和url的語句則為
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=sample";
Eclipse中串連Sql Sever2008 -----轉自Yogurshine