一 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";
