编辑以下问题:我通过设置 blocksperread = 20 解决了这个问题,这与我的 XDF 文件中的块数相同,但我不知道为什么这应该起作用!:)
我在将 XDF 文件写入 SQL Server 上的表时遇到了以下问题。我的 XDF 文件有 9725094 行、148 个变量和 20 个块。我已将其文件名存储为“testset”。
我将一个新的 sqlTable 声明为“dbo.table1”,然后编写:
sqloutput <- RxSqlServerData(connectionString = sqlConnString, table = sqlTable),
其中 sqlConnString 具有服务器属性,并确认此处安装了 RServer 9.1。
然后我执行数据步骤:
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会议。
知道如何解决这个问题吗?
谢谢!