Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsp 无效的字符串或缓冲区长度_Jsp_Odbc - Fatal编程技术网

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

Jsp 无效的字符串或缓冲区长度,jsp,odbc,Jsp,Odbc,JSP对我来说是一个新的世界,但我需要在web应用程序中做一些小的更改。我已经知道了如何做几乎所有我需要的事情,但是我在从数据库中获取数据时遇到了一些问题 我使用的是来自的示例,我可以获得以下代码来显示数据: while(resultset.next()){ out.println(resultset.getString(1)); } 当我尝试将resultset.getString(1)赋值给变量时,我得到: java.sql.SQLException:[Micro

JSP对我来说是一个新的世界,但我需要在web应用程序中做一些小的更改。我已经知道了如何做几乎所有我需要的事情,但是我在从数据库中获取数据时遇到了一些问题

我使用的是来自的示例,我可以获得以下代码来显示数据:

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

    %>      


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

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


建议找到一个更合适、最新的JDBC驱动程序,如ctt\U电子邮件的值和类型是什么?请不要使用Scriptlet。特别是,请不要在Scriptlet中使用JDBC。