以上测试确认JDBC连接正常工作。
使用PreparedStatement、JdbcTemplate或NamedParameterJdbcTemplate时也会出现相同的错误,因此我怀疑PreparedStatement和Sybase IQ之间可能存在问题。
有谁能帮忙调查一下吗?我们已经找到了一个解决方法,但如果知道为什么这不起作用,那将是非常有用的。
我发现了非常相似的线程(如何在sybase IQ中执行PreparedStatement(select object_id())?)关于同样的问题,但是没有人提供一个被接受的正确的答案,所以我决定为此创建一个新的问题。
使用的代码是:
Class.forName("com.sybase.jdbc4.jdbc.SybDriver");
PreparedStatement stmt = con.prepareStatement("select * from myView where off = ? and acc = ?");
stmt.setString(1, "260");
stmt.setString(2, "9050V");
ResultSet set = stmt.executeQuery();
Exception in thread "main" java.sql.SQLException: JZ0SA: Prepared Statement: Input parameter not set, index: 0.
at com.sybase.jdbc4.jdbc.SybConnection.getAllExceptions(Unknown Source)
at com.sybase.jdbc4.jdbc.SybStatement.handleSQLE(Unknown Source)
at com.sybase.jdbc4.jdbc.SybStatement.sendQuery(Unknown Source)
at com.sybase.jdbc4.jdbc.SybPreparedStatement.sendQuery(Unknown Source)
at com.sybase.jdbc4.jdbc.SybStatement.executeQuery(Unknown Source)
at com.sybase.jdbc4.jdbc.SybPreparedStatement.executeQuery(Unknown Source)
使用的JDBC驱动程序(Maven依赖项):
<dependency>
<groupId>com.sybase</groupId>
<artifactId>jconn4</artifactId>
<version>7.0</version>
</dependency>
我在赛贝斯的智商上也遇到了同样的问题。我在PreparedStatement.ExecureQuery()
语句之前添加了以下两行代码来解决这个问题。
preparedStatement.setFetchSize(Integer.MAX_VALUE);
preparedStatement.setFetchDirection(ResultSet.FETCH_FORWARD);
不确定这是不是正确的做法,但它起了作用。
或
问题内容: 为了使我们的代码更加标准,我们被要求更改将SQL变量硬编码为预处理语句的所有位置,然后绑定变量。 但是我遇到了问题。 这是代码: 执行SQL时出现此错误: 我应该改为使用? 问题答案: 使用 java.sql.Date 如果表中的列类型为DATE: 该方法接收到一个字符串,该字符串代表格式的日期。例如: 假设你有一个类型的变量,则可以这样进行转换: 当前 如果要插入当前日期: 使用 j
问题内容: 我试图在执行SQL插入时将标识列返回给我的Java程序。运行代码时出现以下错误 这是我正在运行的代码。 我不允许使用存储过程,所以我不能走那条路。任何帮助将不胜感激 我正在使用Java 1.5 预先感谢道格 问题答案: 我的JT400.jar文件是较旧的版本。我从sourceforge下载了最新的jar文件,问题已解决。
由于catalina.sh中的默认“java.endorsed.dirs”选项,无法用Java9启动基于tomcat的应用程序。 这方面有什么工作吗?
问题内容: 这是一个正常工作的web.xml: 当我删除元素并使用以下注释时: 然后,Tomcat 7.0.14给我以下错误: 我遵循了[这个问题](http://codingdict.com/questions/115618的答案,但这对我不起作用。 这是我的Web应用程序的依赖项: 编辑:我只有在使用Tomcat(7.0.14)时才有问题。玻璃鱼很好。 问题答案: 这是Tomcat7中的错误。
问题内容: 嗨,我只是简单地尝试在www.example.com上获取h1标签,该标签显示为“ Example Domain”。该代码适用于http://www.example.com,但不适用于https://www.exmaple.com。我该如何解决这个问题?谢谢 问题答案: PhantomJSDriver不支持(所有)DesiredCapabilities。 你会需要: 记录在这里:htt
所以我使用这种方法写入文件,它在windows上运行完全正常,但在mac上运行时,它会创建文件,但它们是空的。 我知道数据是正确的,因为它打印正确。感谢您的任何帮助,这真的让我绊倒了。