【发布时间】:2015-07-02 05:28:57
【问题描述】:
我正在尝试使用 RODBC 包中的 sqlSave 方法将记录附加到现有 SQL 表中。
df <- data.frame(EmployeeID = c(NA, NA, NA), EmployeeName=c("Bob", "Sue", "Jane"))
sqlSave(myconn, dat=df, tablename = "Employees", append = TRUE, rownames = FALSE, colnames = FALSE, verbose = TRUE, safer = TRUE,
addPK = FALSE, typeInfo, varTypes, fast = TRUE, test = FALSE, nastring = NULL)
但是,我不断收到错误
[RODBC] 更新中执行失败 23000 544 [Microsoft][ODBC SQL Server Driver][SQL Server]当 IDENTITY_INSERT 设置为 OFF 时,无法在表 'Employees' 中插入标识列的显式值。
我的表应该会自动创建 ID。什么给了?
【问题讨论】:
-
您是否尝试过从 data.frame 中删除
EmployeeID列?使用此方法,您似乎正在尝试将 NULL 值附加到 EmployeeID 列中。最好不要为追加指定这些值。 -
@MrFlick 是的,在这种情况下,我收到错误“'dimnames' [2] 的长度不等于数组范围”。 This Post 非常相似,但答案并没有真正的帮助。