2011-07-15 144 views
0

我想連接sql server 2008與servlet.this是我的代碼。Sql server 2008與servlet

public class ProcessServlet extends HttpServlet { 
private static final long serialVersionUID = 1L; 

/** 
* @see HttpServlet#HttpServlet() 
*/ 
public ProcessServlet() { 
    super(); 
    // TODO Auto-generated constructor stub 
} 
/** 
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 
*/ 
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    // TODO Auto-generated method stub 
      // Declare the JDBC objects. 
      Connection con = null;    
      ResultSet rs = null; 
      try { 
      // Establish the connection. 
      SQLServerDataSource ds = new SQLServerDataSource(); 
      ds.setUser("sa"); 
      ds.setPassword("password123"); 
      ds.setServerName("ENMEDIA-EA6278E\\ENMEDIA"); 
      ds.setDatabaseName("DishTV_Voting");    
      con = ds.getConnection();    
        // Execute a stored procedure that returns some data. 
      Statement stmt = con.createStatement(); 
      /* stmt.executeUpdate("CREATE DATABASE hello"); 
      stmt.executeUpdate("Use hello"); 
      String table = 
      "CREATE TABLE Employee11(Emp_code integer, Emp_name varchar(10))"; 
      stmt.executeUpdate(table); 
      System.out.println("Table creation process successfully!");*/ 
      rs = stmt.executeQuery("SELECT question_text FROM 
         otvtbl_question WHERE question_id = 10"); 
      while (rs.next()) { 
       String lastName = rs.getString("question_text"); 
       System.out.println(lastName); 
      } 
      con.close(); 
     } catch (Exception e) { 
      System.err.println("Got an exception! "); 
      System.err.println(e.getMessage()); 
     } 
    } 
/** 
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 
*/ 
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    // TODO Auto-generated method stub 
    doGet(request,response); 
} 

}

當你從微軟下載站點SQL Server的JDBC驅動程序,我收到以下錯誤

Jul 15, 2011 6:56:04 PM com.microsoft.sqlserver.jdbc.SQLServerConnection <init> 
SEVERE: Java Runtime Environment (JRE) version 1.6 is not supported by this driver.  
Use the sqljdbc4.jar class library, which provides support for JDBC 4.0. 
Got an exception! 
Java Runtime Environment (JRE) version 1.6 is not supported by this driver. 
Use the sqljdbc4.jar class library, which provides support for JDBC 4.0. 

回答

1

http://www.microsoft.com/download/en/details.aspx?id=21599

拆開它,你會發現兩個jar文件。

sqljdbc.jar - 使用該驅動程序與Java版本之前1.6 sqljdbc4.jar - 使用該驅動程序與Java版本1.6

你所得到的錯誤消息,因爲您的項目與Java 1.6編譯,但使用的是sqljdbc.jar而不是sqljdbc4.jar

希望它有幫助。

+0

是的,我們早就有同樣的問題了。你必須選擇正確的SQL Server JDBC jar。 – extraneon