Eclipse Java Neon 通過JDBC串連SQL Server2008

來源:互聯網
上載者:User

標籤:otf   blog   image   java   uil   tab   result   alt   table   

JDBC(Java DataBase Connectivity,java資料庫連接)是一種用於執行SQL語句的Java API,可以為多種關聯式資料庫提供統一訪問,它由一組用Java語言編寫的類和介面組成。

1.配置SQL Server:開始 > Microsoft SQL Server2008 > SQL Server 組態管理員 > SQL Server 網路設定 > SQLEXPRESS 的協議 > TCP/IP

 

 

 

 

 

TCP/IP配置:修改IP是“127.0.0.1”的一項和IPAll的一項,修改完成後確定開啟TCP/IP

    

2.在SQL Server2中建立資料庫MyHotel,建立相關表

3.Eclipse中代碼如下:

 1 import java.sql.*; 2  3 class GetCon { 4     Connection con; 5     //得到串連好資料庫MyHotel的Connection 6     public Connection getCon() { 7         try {                     8             Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 9         }catch (ClassNotFoundException e) {10             System.out.println(e);11         }12         try {13             String url = "jdbc:sqlserver://127.0.0.1:1433;DateBaseName= MyHotel ";14             String saName = "sa";15             String saPw = "123";16             con = DriverManager.getConnection(url,saName,saPw);        17         } catch (SQLException e) {18             System.out.println(e);19         }20         return con;21     }22 }23 24 public class Test1 {25     public static void main(String[] args) {26         GetCon gc = new GetCon();27         Connection con;28         Statement sql;29         ResultSet rs;        30         try {    31             con = gc.getCon();32             sql = con.createStatement();33             //查詢資料庫MyHotel中Hotel表中杜拜帆船酒店單人間的價格34             rs = sql.executeQuery("select Price from Hotel "35                     + "where Hname = ‘杜拜帆船酒店‘ and Rmtype = ‘單人間‘");36             if (rs.next()) {37                 System.out.println(rs.getString("Price"));38             }39         } catch (SQLException e) {40             e.printStackTrace();41         }42     }43 }

 

#錯誤總結#

1.未引入sqljdbc4.0報錯:

java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
java.sql.SQLException: No suitable driver found for jdbc:sqlserver://127.0.0.1:1433;DateBaseName= MyHotel
Exception in thread "main" java.lang.NullPointerException
at Test1.main(Test1.java:32)

解決方案:TestHotel(建立的java項目)> Properties > Java Build Path > Add External JARs... > 選擇下載好的sqljdbc4.jar > OK

2.未設定預設資料庫

com.microsoft.sqlserver.jdbc.SQLServerException: 對象名 ‘Hotel‘ 無效。
    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:216)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1515)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteStatement(SQLServerStatement.java:792)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement$StmtExecCmd.doExecute(SQLServerStatement.java:689)
    at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1715)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:180)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:155)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeQuery(SQLServerStatement.java:616)
    at Test1.main(Test1.java:34)

解決方案1:在所用表Hotel前加MyHotel..(注意是兩個點!!)即“ 資料庫+ .. +表名 ”

解決方案2:修改預設資料庫,在SQL Server中選擇串連時使用的登入名稱(我的是sa) sa > 屬性 > 常規 > 預設資料庫 > 選擇需要的資料庫(我的是MyHotel)

 

Eclipse Java Neon 通過JDBC串連SQL Server2008

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.