【发布时间】:2011-06-11 08:08:52
【问题描述】:
我正在使用 MS SQL 驱动程序 3.0 版通过标准 JDBC 连接执行存储过程。
我发现当我创建数据并将数据插入临时表时,存储过程无法正常执行。
Java 代码不会抛出异常,但 javax.sql.ResultSet 将是 null。
存储过程中的失败点是我取消注释INSERT INTO #TBL CLM_NAME VALUES('VAL')
当我使用 SQL Studio 管理器 执行该语句时,它会毫不费力地执行并且数据符合预期。
有没有人遇到过这种情况或知道为什么会这样?
一开始我以为是因为 SQL 驱动,现在还是这样?
谢谢。
【问题讨论】:
-
你能确定你正在创建和加载临时表并在同一个连接中读取它吗?
-
是的,临时表是从我创建的存储过程中创建的。我只从 Java 代码中调用存储过程,例如 connect.executeQuery("{procName(?)}")。
-
违规的
INSERT指令是否位于创建临时表的同一存储过程中? -
你使用哪种方法调用存储过程?
标签: java sql-server-2005 jdbc temp-tables