无效的字符串或缓冲区长度

时间:2014-11-04 21:31:10

标签: jsp odbc

JSP对我来说是一个新世界,但我需要在Web应用程序中进行一些小改动。我已经弄清楚如何做我需要的所有东西,但是我在从数据库中获取数据时遇到了一些问题。

我正在使用here中的示例,我可以获取以下代码来显示数据:

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

  }

当我尝试将resultset.getString(1)分配给变量时,我得到:

  

java.sql.SQLException:[Microsoft] [ODBC驱动程序管理器]无效的字符串或缓冲区长度

以下是我使用的代码示例:

        <% 
      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);

    %>      

有人能告诉我我做错了吗?

1 个答案:

答案 0 :(得分:1)

尽管它看起来像数据类型问题,但如果您使用jdbc / odbc桥在64位系统上工作,这是一个常见的错误消息。如果我没弄错的话,jdbc:odbc网桥使用的是一个较旧的32位ODBC驱动程序,当在64位环境中使用时,它会变得非常笨拙(我猜你在工作)。

建议找到更合适和最新的JDBC驱动程序,如http://msdn.microsoft.com/en-us/data/aa937724.aspx