我正在設置SQL Azure數據庫。我需要每天將數據寫入數據庫。我在Windows10上使用64位R版本3.3.3。某些列包含文本(超過4000個字符)。最初,我使用Microsoft SQL Server Management Studios將一些數據從csv導入到SQL Azure數據庫中。我將文本列設置爲ntext格式,因爲當我嘗試使用nvarchar時,max是4000,並且即使它們的長度大約爲1100個字符,也有一些值被截斷。RODBC錯誤:'Calloc'無法分配內存
爲了追加到我先保存記錄時,我已經預定了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)
我的問題是:
我怎樣才能解決這個問題?
這是我應該使用的格式嗎?
此外,即使上述工作,上傳大約5k條記錄大約需要一個小時。這不是太長嗎?這是正常的時間量嗎?如果不是,我可以做些什麼更好。
由於CRAN版本不可用我嘗試:devtools :: install_github( 'imanuelcostigan/RSQLServer') 這給: 「ERROR:依賴 'dbplyr' 不適用於包 'RSQLServer'」 然後:devtools :: install_github('tidyverse/dbplyr')的結果爲: 「錯誤:依賴項'glue'不可用於程序包'dbplyr''」 然後:「警告:Rtools是構建R程序包所必需的,但目前尚未安裝。 現在安裝Rtools。 – deann
RSQLServer IS在CRAN上。再次嘗試install.packages。 –
> install.packages( 「RSQLServer」) 安裝封裝成 'C:/Users/ds/Documents/R/win-library/3.3' (爲 'LIB' 是未指定) 警告在install.packages: 包'RSQLServer'不可用(對於R版本3.3.3) – deann