编辑以下问题:我通过设置blocksperread = 20修复了问题,这与我的XDF文件中的块数相同,但我不知道为什么这应该有效! :)
我遇到了将XDF文件写入SQL Server上的表时出现以下问题。我的XDF文件有9725094行,148个变量和20个块。我已将其文件名存储为' testset'。
我将一个新的sqlTable声明为' dbo.table1',然后写:
sqloutput< - RxSqlServerData(connectionString = sqlConnString,table = sqlTable),
其中sqlConnString具有服务器属性,并且确认此处安装了RServer 9.1。
然后我做了datastep:
rxDataStep(inData = testset,outFile = sqloutput,overwrite = T),运行时我得到:
Total Rows written: 100000, Total time: 13.878
Total Rows written: 200000, Total time: 24.47
Total Rows written: 300000, Total time: 34.851
Total Rows written: 400000, Total time: 45.534
Total Rows written: 500000, Total time: 60.11
Rows Read: 500000, Total Rows Processed: 500000, Total Chunk Time: 64.348 seconds
Total Rows written: 100000, Total time: 10.967
Error in doTryCatch(return(expr), name, parentenv, handler) :
no message recieved from pipe
Error in doTryCatch(return(expr), name, parentenv, handler) :
Write error: expected 8 got
Error in doTryCatch(return(expr), name, parentenv, handler) :
Write error: expected 8 got
它写了"第一块"很好,可以通过SSMS查询服务器来确认,但是,当进入第二个块时,它会失败,并且就此而言所有RServer函数都失败了,我必须重新启动我的R会话。
知道怎么解决这个问题吗?
谢谢!