【发布时间】:2016-02-22 12:28:14
【问题描述】:
我必须运行一个 SQL 查询,在更大的表上迭代游标(MS SQL Server 2014)。不将光标用于此特定目的将是相当困难的。
与游标相关的代码保存在存储过程中。 R 只评估了EXEC dbo.do_something。从 MS SQL Management Studio 运行代码时,EXEC dbo.do_something 按预期工作。当我通过 RODBC 运行它时,查询在 30 秒后中止且没有错误消息。我猜这是“连接超时”的值。
我必须使用哪些选项才能使查询与 R 一起使用?
【问题讨论】:
-
Connection Timeout(可以在连接字符串上设置)是允许连接服务器的时间。命令超时,即允许执行命令的时间,通常在代码(C#、VB 等)中的命令对象上设置,并且无法在每个连接的基础上设置它。 RODBC 似乎没有在手册中提到超时(或者我找不到任何东西),所以我猜它没有公开 ODBC API 来更改命令超时,这似乎是有限的。
-
@les-h 感谢您的澄清。我想我将不得不采取不同的路线来运行此查询。
-
我目前正在实现包
RODBCext中的查询超时(命令超时)功能,并在接下来的几周内发布。见:github.com/zozlak/RODBCext/issues/10
标签: sql-server r odbc rodbc