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