【发布时间】:2020-07-17 02:18:39
【问题描述】:
我在执行以下脚本时收到错误The statement did not return a result set. (line 9, file "Code"):
var ID = '0AgsrrAUVa01-dGVZVGhWekxsX3Fjieoww0RYMFA2VVE' //profiles
function test() {
var profile ="localSQLSERVER"
var conn = getConnection(profile,ID)
var stmt = conn.createStatement();
//var query = "exec sp_help"
var query = "exec test.dbo.sp_dasboard_10"
var rs = stmt.executeQuery(query);
rs.close();
stmt.close();
conn.close();
}
知道上面同一个脚本中注释的exex sp_help 确实可以正常工作。
正确的 Microsoft SQL Server 2000 中的结果也可以正常工作,并且似乎没有返回任何奇怪的东西。只是以下结果
数面食
301
284
211
144
77
77
SQL Server 的版本是:
版本 8.00.2066 (Intel X86) May 11 2012 18:41:14 版权所有 (c) 1988-2003 Microsoft Corporation Standard Edition on Windows NT 5.2 (Build 3790: Service Pack 2)
在this post on SO 我读到这可以通过使用executeUpdate() 语句或更新MS SQL 的JDBC 驱动程序来解决。
使用 Google Apps 脚本上的 JDBC 服务不能更新驱动程序...
当我尝试其他选项时,例如
- var pstmt = conn.prepareStatement("exec test.dbo.sp_dasboard_10");
- 将 sp 放入 master
都给出相同的错误。
和测试
- stmt.executeUpdate() 在 sysservers 中添加测试时出错...
还有其他想法吗?
【问题讨论】:
-
嗨雅各布,也许这只是一个错字?仪表板而不是仪表板?无论如何,这应该做什么?
-
你试过
execute()吗? -
@HenriqueAbreu 这不是错字...我只是使用了错误的拼写来确保我没有干扰某些保留字。错误也会有所不同
Could not find stored procedure 'test.dbo.sp_dashboard_10和@mark Rotteveel 至于execute()它返回false。我真的怀疑我必须升级 sql server 或编写单独的查询才能得到结果。 -
在存储过程中,你是在做一个简单的
SELECT并返回结果吗?是否有其他输出只是表格响应? -
@ArunNagarajan 结果是一个简单的选择,上面的结果作为输出。尽管在消息中它多次显示消息 1 行受到影响,直到最终结果 6 行受到影响。这是因为在进行最终选择之前,我必须对临时表做一些准备。还有选择后我必须做放置表#temp的细节。
标签: sql-server jdbc google-apps-script