Java鏈接SqlServer2008數據庫

首先下載JDBC:下載地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=21599 java

下載 完成後,是個exe文件,點擊運行,會提示你選擇解壓目錄. sql

解壓完成後,進入 <你解壓到得目錄>\sqljdbc_3.0\chs,裏邊有兩個咱們須要的東東 數據庫

一個是:sqljdbc.jar,另一個是sqljdbc4.jar windows

這裏使用sqljdbc4.jar 安全

首先配置sa身份驗證: 網絡

因爲安裝sqlServer2008時是以windows身份驗證安裝的,並無爲sqlServer2008添加sqlServer身份用戶,所以首先添加用戶: 工具

打開Microsoft SQL Server Managerment Studio並以windows驗證方式登陸,左側的對象資源管理器->安全性->登陸名,右擊sa->屬性,爲sa用戶添加密碼,選擇sqlServer身份驗證,在"狀態"選項中授予鏈接到數據庫和登陸啓用.右擊對象資源管理器的根節點,選擇屬性->安全性->sqlServer和windows身份驗證模式,這樣就爲sql server 2008建立了以sql server身份驗證的用戶sa. sqlserver

在java代碼中用兩種方式鏈接sqlserver2008數據庫,一種是sa身份驗證模式,另一種是混合身份驗證模式: 加密

第一種:sa身份驗證模式,用下邊java代碼的url url

Java代碼 複製代碼  收藏代碼
  1. import java.sql.Connection;    
  2. import java.sql.DriverManager;    
  3. import java.sql.ResultSet;    
  4. import java.sql.Statement;    
  5.     
  6. public class Test {    
  7.     
  8.     public static void main(String args[]) {    
  9.         // Create a variable for the connection string.    
  10.         String connectionUrl = "jdbc:sqlserver://localhost:1433;"    
  11.                 + "databaseName=AdventureWorks;integratedSecurity=true;";    
  12.     
  13.         String url = "jdbc:sqlserver://127.0.0.1:1368;databaseName=mydb;user=sa;password=qiaoning";//sa身份鏈接    
  14.     
  15.         String url2 = "jdbc:sqlserver://127.0.0.1:1368;databaseName=mydb;integratedSecurity=true;";//windows集成模式鏈接    
  16.     
  17.         // Declare the JDBC objects.    
  18.         Connection con = null;    
  19.         Statement stmt = null;    
  20.         ResultSet rs = null;    
  21.     
  22.         try {    
  23.             // Establish the connection.    
  24.             System.out.println("begin.");    
  25.             Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");    
  26.             con = DriverManager.getConnection(url);    
  27.             System.out.println("end.");    
  28.     
  29.             // Create and execute an SQL statement that returns some data.    
  30.             String SQL = "SELECT TOP 10 * FROM aud_t_basis";    
  31.             stmt = con.createStatement();    
  32.             rs = stmt.executeQuery(SQL);    
  33.     
  34.             // Iterate through the data in the result set and display it.    
  35.             while (rs.next()) {    
  36.                 System.out.println(rs.getString(4) + " " + rs.getString(6));    
  37.             }    
  38.         }    
  39.     
  40.         // Handle any errors that may have occurred.    
  41.         catch (Exception e) {    
  42.             e.printStackTrace();    
  43.         }    
  44.     
  45.         finally {    
  46.             if (rs != null)    
  47.                 try {    
  48.                     rs.close();    
  49.                 } catch (Exception e) {    
  50.                 }    
  51.             if (stmt != null)    
  52.                 try {    
  53.                     stmt.close();    
  54.                 } catch (Exception e) {    
  55.                 }    
  56.             if (con != null)    
  57.                 try {    
  58.                     con.close();    
  59.                 } catch (Exception e) {    
  60.                 }    
  61.         }    
  62.     }    
  63. }    
import java.sql.Connection;  
    import java.sql.DriverManager;  
    import java.sql.ResultSet;  
    import java.sql.Statement;  
      
    public class Test {  
      
        public static void main(String args[]) {  
            // Create a variable for the connection string.  
            String connectionUrl = "jdbc:sqlserver://localhost:1433;"  
                    + "databaseName=AdventureWorks;integratedSecurity=true;";  
      
            String url = "jdbc:sqlserver://127.0.0.1:1368;databaseName=mydb;user=sa;password=qiaoning";//sa身份鏈接  
      
            String url2 = "jdbc:sqlserver://127.0.0.1:1368;databaseName=mydb;integratedSecurity=true;";//windows集成模式鏈接  
      
            // Declare the JDBC objects.  
            Connection con = null;  
            Statement stmt = null;  
            ResultSet rs = null;  
      
            try {  
                // Establish the connection.  
                System.out.println("begin.");  
                Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");  
                con = DriverManager.getConnection(url);  
                System.out.println("end.");  
      
                // Create and execute an SQL statement that returns some data.  
                String SQL = "SELECT TOP 10 * FROM aud_t_basis";  
                stmt = con.createStatement();  
                rs = stmt.executeQuery(SQL);  
      
                // Iterate through the data in the result set and display it.  
                while (rs.next()) {  
                    System.out.println(rs.getString(4) + " " + rs.getString(6));  
                }  
            }  
      
            // Handle any errors that may have occurred.  
            catch (Exception e) {  
                e.printStackTrace();  
            }  
      
            finally {  
                if (rs != null)  
                    try {  
                        rs.close();  
                    } catch (Exception e) {  
                    }  
                if (stmt != null)  
                    try {  
                        stmt.close();  
                    } catch (Exception e) {  
                    }  
                if (con != null)  
                    try {  
                        con.close();  
                    } catch (Exception e) {  
                    }  
            }  
        }  
    }

 第二種:混合身份驗證模式,用上邊java代碼的url2.

在集成模式下須要以下操做:

找到你剛纔的解壓目錄:進入sqljdbc_3.0\chs\auth\x64,個人是64位系統,若是是32位就x86,將一個名爲sqljdbc_auth.dll的文件拷貝到:C:\Windows\System32下,就行了

最後就是sqlserver2008用的是動態端口,須要你配置一下:

打開配置工具->SQLServer配置管理器->SQLServer網絡配置->MSSQLSERVER的協議->TCP/IP啓用,把TCP動態端口中的0都刪掉,留空;而後把列表拉到最下邊(IPALL),配置一個固定端口,之後你鏈接數據庫就用這個端口就能夠了:以下圖


 這裏我用的是1368,數據庫重啓後,就能夠用上面的程序鏈接了.

相關文章
相關標籤/搜索