【发布时间】:2023-03-27 14:33:01
【问题描述】:
这是一个简短的故事,重要的是要谈谈设置,我正在使用 RODBC 和 FreeTDS 连接到 SQL Azure 数据库。请记住,它是 SQL Azure 数据库(也恰好是本地 SQL Server 的问题,提醒我在这里发布它以寻求帮助或了解真正的问题)。 首先,它与没有集群密钥或密钥的数据库不好相处,所以需要做的是 addPK = T 或更长的版本 addPK = TRUE
解决方案 #1。两步法
这将有助于创建正确的表结构,但它仍然会失败。不用担心。现在我们需要做的是追加数据
sqlSave(ch, USArrests, addPK = T)
它会告诉你错误,然后你需要做的就是追加数据
sqlSave(ch, USArrests, tablename = ‘USArrests’, append = T)
现在你准备好欢呼或欢呼了吗?!
解决方案 #2。
那不是我,我很懒,应该一个命令完成
那个解决方案似乎没有意义,这里是更好的版本
sqlSave(ch, cust, tablename=”dbo.customers”, safer=F, addPK=T)
Safer = F 可以解决问题。不确定这是来自 FreeTDS 还是 RODBC sqlSave 函数的错误。
【问题讨论】:
-
这是一个问题吗?如果你想回答你自己的问题,你应该发布一个问题,然后是一个答案;不是链接博客文章的副本。
-
感谢您指出,亚历克斯。这实际上是一个问题。博客文章不是一个真正的解决方案,我不知道真正的问题是什么......只是出来尝试失败。
-
澄清一下,为什么sqlSave第一次保存数据失败,但实际创建了表?然后后面的追加真的有效吗?
标签: sql-server r azure freetds rodbc