gpt4 book ai didi

sql-server - RODBC 错误 : 'Calloc' could not allocate memory

转载 作者:搜寻专家 更新时间:2023-10-30 19:50:22 25 4
gpt4 key购买 nike

我正在设置 SQL Azure 数据库。我需要每天将数据写入数据库。我在 Windows10 上使用 64 位 R 版本 3.3.3。一些列包含文本(超过 4000 个字符)。最初,我使用 Microsoft SQL Server Management Studios 将一些数据从 csv 导入到 SQL Azure 数据库中。我将文本列设置为 ntext 格式,因为当我尝试使用 nvarchar 时,最大值为 4000,并且一些值被截断,即使它们的长度约为 1100 个字符。

为了附加到数据库,我首先在预定义 varTypes 时将记录保存在临时表中:

varTypesNewFile <- c("Numeric", rep("NTEXT", ncol(newFileToAppend) - 1)) 
names(varTypesNewFile) <- names(newFileToAppend)
sqlSave(dbhandle, newFileToAppend, "newFileToAppendTmp", rownames = F, varTypes = varTypesNewFile, safer = F)

然后使用以下方法附加它们:

insert into mainTable select * from newFileToAppendTmp

如果文本不是太长,上面的方法确实有效。但是,有时在执行 sqlSave 命令时会出现以下错误:

Error in odbcUpdate(channel, query, mydata, coldata[m, ], test = test,  : 
'Calloc' could not allocate memory (1073741824 of 1 bytes)

我的问题是:

  1. 我该如何解决这个问题?

  2. 这是我应该使用的格式吗?

  3. 此外,即使上述方法有效,上传大约 5k 条记录也需要大约一个小时。是不是太长了?这是应该花费的正常时间吗?如果没有,我可以做些什么更好。

最佳答案

RODBC 非常古老,对于 NVARCHAR 列可能有点不稳定。尝试使用 RSQLServer包,它提供了连接到 SQL Server 的替代方法(并且还提供了 dplyr 后端)。

关于sql-server - RODBC 错误 : 'Calloc' could not allocate memory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44902358/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com