2014-11-04 59 views
0

JSP對我來說是一個新世界,但我需要在Web應用程序中做一些小改動。我已經想出瞭如何做我需要的幾乎所有東西,但是我在從數據庫中獲取數據時遇到了一些問題。無效的字符串或緩衝區長度

我使用從here一個例子,我可以得到下面的代碼來顯示數據:當我嘗試分配resultset.getString(1)到可變

while(resultset.next()){ 
     out.println(resultset.getString(1)); 

    } 

,我得到:

的java .sql.SQLException:[Microsoft] [ODBC Driver Manager]無效的字符串或緩衝區長度

下面是我正在使用的代碼:

 <% 
     String strEmail = ""; 
     Connection connection = DriverManager.getConnection(
      "jdbc:odbc:dbcon", "acctName", "acctNamePass"); 

     Statement statement = connection.createStatement() ; 
     ResultSet resultset = statement.executeQuery("SELECT [ctt_email] FROM [petergriffin].[dbo].[contact] where ctt_id = 13") ; 

     while(resultset.next()){ 
      strEmail = resultset.getString(1); 

     } 
     out.println(strEmail); 

    %>  

有人能告訴我我做錯了什麼嗎?

+0

有什麼價值和'ctt_email'的類型? – 2014-11-04 21:37:47

+0

請不要使用Scriptlets。特別是,*請*不要在Scritplets中使用JDBC。 – 2014-11-04 21:45:00

回答

0

儘管看起來像數據類型問題,但如果您使用jdbc/odbc橋接器工作在64位系統上,則這是一個常見錯誤消息。如果我沒有弄錯,jdbc:odbc bridge使用一個較舊的32位ODBC驅動程序,它在64位環境(我猜你正在使用它)中使用時會變得非常麻煩。

的建議是找到更合適的和最新的最新的JDBC驅動程序一樣http://msdn.microsoft.com/en-us/data/aa937724.aspx

相關問題