繁体   English   中英

使用RODBC进行并行数据库调用

[英]Parallel Database calls with RODBC

我正在处理大约3 * 10 ^ 6行和11列的面板数据块。 这些数据存储在SQL数据库中(我使用的数据是更大数据集的子集)。 我想处理数据块(每个日期分别)而不一次全部导入整个东西,但是我必须在每个块上运行的操作需要大量计算,因此我想使用foreach包。

但是,我在并行运行sql调用时遇到了一些问题。 如果我进行一个简单的调用,例如( sqlQuery(channel, "select 1") ),则可以并行运行。 如果执行更复杂的语句,则会收到SIGPIPE错误。 还有其他人遇到类似的问题吗?

您没有告诉我们您正在使用什么数据库。 在与RODBC连接的SQLServer上,如果已通过使用事务成功完成此操作。

channel = odbcConnect(database)
odbcSetAutoCommit(channel,FALSE)
# Make requests here
odbcEndTran(channel,TRUE) 

我不确定这是否还能在您仅读取请求时(如您的情况)有所帮助,但是可能值得尝试一下,因为它只是一两行。 我问了一下服务器,因为事务在ODBC下与MSSqlServer可以很好地工作,而我与其他人却有一些混合的结果(但并没有努力)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM