JDBC串連SQL Server

來源:互聯網
上載者:User

標籤:value   auth   目錄   cti   img   ros   插入   雙擊   java   

下載jdbc驅動包

,我下載的是exe版本的,其實是格自解壓包。下載完畢之後,雙擊運行,會解壓在目前的目錄下。

      Microsoft SQL Server JDBC Driver 3.0\sqljdbc_3.0\chs\auth\x64\sqljdbc_auth.dll檔案 複製到C:\Windows\SysWOW64目錄下。(64bit系統)

      Microsoft SQL Server JDBC Driver 3.0\sqljdbc_3.0\chs\auth\x86\sqljdbc_auth.DLL 檔案 複製到 C:\Windows\System32 (32位系統,未經過驗證)

 然後將  Microsoft SQL Server JDBC Driver 3.0\sqljdbc_3.0\chs\sqljdbc4/jar 包匯入到項目中。

原始碼

 

 1 import java.sql.*; 2 public class Conn{ 3     public static void main(String[] args) { 4       String JDriver="com.microsoft.sqlserver.jdbc.SQLServerDriver"; 5 //SQL資料庫引擎 6       String connectDB="jdbc:sqlserver://ABYSS-PC\\MYABYSS:64160;DatabaseName=master"; 7 //資料來源  !!!!注意若出現載入或者串連資料庫失敗一般是這裡出現問題 8      // 我將在下面詳述 9       try {10     //載入資料庫引擎,返回給定字串名的類11           Class.forName(JDriver);12       }catch(ClassNotFoundException e)13       {14        //e.printStackTrace();15           System.out.println("載入資料庫引擎失敗");16           System.exit(0);17       }     18       System.out.println("資料庫驅動成功");19       20       try {21           String user="sa";                                    22    //這裡只要注意使用者名稱密碼不要寫錯即可23           String password="*liluotinghua33*";24           Connection con=DriverManager.getConnection(connectDB,user,password);25 //串連資料庫物件26           System.out.println("串連資料庫成功");27           Statement stmt=con.createStatement();28 //建立SQL命令對象29        30        //建立表31            System.out.println("開始建立表");32           //建立表SQL語句33            String query= "create table TABLE1(ID   34                                  NCHAR(2),NAME NCHAR(10))";35            stmt.executeUpdate(query);//執行SQL命令對象36            System.out.println("表建立成功");37               38            //輸入資料39            System.out.println("開始插入資料");40            String a1="INSERT INTO TABLE1 VALUES(‘1‘,‘旭哥‘)";41                 //插入資料SQL語句42            String a2="INSERT INTO TABLE1 VALUES(‘2‘,‘偉哥‘)";43            String a3="INSERT INTO TABLE1 VALUES(‘3‘,‘張哥‘)";44            stmt.executeUpdate(a1);//執行SQL命令對象45            stmt.executeUpdate(a2);   46            stmt.executeUpdate(a3);47            System.out.println("插入資料成功");48            49            //讀取資料50            System.out.println("開始讀取資料");51            ResultSet rs=stmt.executeQuery("SELECT * FROM 52                  TABLE1");//返回SQL語句查詢結果集(集合)53        //迴圈輸出每一條記錄54        while(rs.next()){55         //輸出每個欄位56      System.out.println(rs.getString("ID")+"\t"+rs.getString("NAME"));57        }58        System.out.println("讀取完畢");59        60        //關閉串連61        stmt.close();//關閉命令對象串連62        con.close();//關閉資料庫連接63       }catch(SQLException e){64        e.printStackTrace();65        System.out.print(e.getErrorCode());66        //System.out.println("資料庫連接錯誤");67        System.exit(0);68       }69  }70 }    

 

 

出現的問題

 String connectDB="jdbc:sqlserver://ABYSS-PC\\MYABYSS:64160;DatabaseName=master";

先講解一下這段代碼。

 其中ABYSS-PC\\MYABYSS 表示伺服器名字,兩個反斜線表示轉義。什麼是伺服器的名字呢,如:

64160 表示連接埠號碼,一般情況下預設的是1433,特殊情況下如我的便是隨機分配的。

驗證連接埠號碼:1、開啟工作管理員,選擇服務,查看SQL Server執行個體的 PID號為7284,我的電腦運行了兩個資料庫執行個體,我只串連第一個執行個體。2、開啟命令提示字元。輸入 netstat -ano。 7284所對應的連接埠號碼是64160.DatabaseName=master;  master表示資料來源。。 在運行還出現一個問題就是,用windows身分識別驗證可以登入資料庫,但是使用SQL Server身分識別驗證卻提示失敗。一般出現錯誤會報告錯誤碼,我這裡報告的錯誤碼是18456 。你可以用Google搜尋一下: SQL Server 2008 錯誤碼 18456.這裡我簡單的提供一下解決辦法。首先windows帳號是可以登入的。
尋找問題的過程:
第一步: 啟動所有與SQL有關的服務,問題依舊;
第二步: 查看windows防火牆,被預設啟動了,不啟動選擇項被Disabled。兩個提示“由於安全考慮,某些設定由組策略控制”“Windows防火牆正在使用您的網域設定”,先用gpedit.msc打組策略編輯器,機算機配置--系統管理範本--網路--網路連接--Windows防火牆--標準設定檔,查看右邊各選項屬性,都是未配置狀態,問題不在這裡。
第三步:用windows帳號登入,串連成功後,右擊執行個體,選擇屬性->安全性。確定“伺服器身分識別驗證”選擇的是“SQL Server和Windows身分識別驗證模式”通過這三個步驟,問題就差不多解決了。還以一點,別忘了給sa使用者登入許可權。雙擊sa帳號選擇狀態。

 

JDBC串連SQL Server

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.