RODBC错误:SqlSave无法追加到表
我们使用RODBC和SqlSave命令遇到了一个错误。当我们试图保存到Sybase数据库的数据很小(~小于10.000行)时,同一个SqlSave命令会起作用,因此我们有点困惑该怎么办。当试图保存较大的数据(约200.000行)时,保存过程会毫无问题地启动,但在保存几千行后会崩溃。然后我们点击此错误消息“无法附加到表…” 我们使用这种代码:RODBC错误:SqlSave无法追加到表,r,rodbc,R,Rodbc,我们使用RODBC和SqlSave命令遇到了一个错误。当我们试图保存到Sybase数据库的数据很小(~小于10.000行)时,同一个SqlSave命令会起作用,因此我们有点困惑该怎么办。当试图保存较大的数据(约200.000行)时,保存过程会毫无问题地启动,但在保存几千行后会崩溃。然后我们点击此错误消息“无法附加到表…” 我们使用这种代码: library(RODBC) channel <- odbcConnect("linfo-test", uid="DBA", pwd="xxxxxx
library(RODBC)
channel <- odbcConnect("linfo-test", uid="DBA", pwd="xxxxxx", believeNRows=FALSE)
sqlSave(channel=channel, dat=matkat, tablename = "testitaulu", append = TRUE)
odbcClose(channel)
库(RODBC)
频道sqlSave
和append=TRUE
几乎不起作用。您必须显式地将SQL INSERT写入语句,这是不幸的。为这个坏消息感到抱歉 sqlSave
withappend=TRUE
几乎不起作用。您必须显式地将SQL INSERT写入语句,这是不幸的。为这个坏消息感到抱歉 sqlSave正在工作,但您必须非常小心。
你需要记住:
- 在R中,数据框和sql server表的列名必须精确匹配,并且记住R是区分大小写的,甚至前导空格或末尾的空格也会产生影响
- 确保R和sql表中的数据类型匹配
- 您没有缺少任何要插入的列(即使是sql中的默认列)
- 连接必须正确设置,如果sql用户没有读写目标表(在sqlSave中使用)的权限,它也可能失败
sqlSave正在工作,但您必须非常小心。
你需要记住:
- 在R中,数据框和sql server表的列名必须精确匹配,并且记住R是区分大小写的,甚至前导空格或末尾的空格也会产生影响
- 确保R和sql表中的数据类型匹配
- 您没有缺少任何要插入的列(即使是sql中的默认列)
- 连接必须正确设置,如果sql用户没有读写目标表(在sqlSave中使用)的权限,它也可能失败
这确实是个坏消息,但谢谢你告诉我!我只花了30分钟时间,没有让
sqlSave
和append=TRUE
在最琐碎的情况下工作,很高兴知道不只是我一个人。这确实是个坏消息,但谢谢你告诉我!我只花了30分钟时间,没有让sqlSave
和append=TRUE
在即使是最琐碎的情况下也能工作,很高兴知道不只是我一个人。RODBC
是一个可怕的包,你最好改用RStudio设计的odbc
包。有了thts,您可以使用append=T使用dbWriteTable()
了。这对我来说是一个可怕的包RODBC
,您最好改用RStudio设计的odbc
包。有了thts,您可以将dbWriteTable()
与append=T一起使用。这对我很有用