【问题标题】:RODBC ERROR: Could not SQLExecDirect 'CREATE TABLE ... when doing sqlSaveRODBC 错误:在执行 sqlSave 时无法 SQLExecDirect 'CREATE TABLE ...
【发布时间】: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 函数的错误。

http://tiggeranddraggon.tumblr.com/post/98707948606/the-unintuitive-could-not-sqlexecdirect-rodbc-error-and

【问题讨论】:

  • 这是一个问题吗?如果你想回答你自己的问题,你应该发布一个问题,然后是一个答案;不是链接博客文章的副本。
  • 感谢您指出,亚历克斯。这实际上是一个问题。博客文章不是一个真正的解决方案,我不知道真正的问题是什么......只是出来尝试失败。
  • 澄清一下,为什么sqlSave第一次保存数据失败,但实际创建了表?然后后面的追加真的有效吗?

标签: sql-server r azure freetds rodbc


【解决方案1】:

【讨论】:

    猜你喜欢
    • 2015-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-18
    • 1970-01-01
    • 2018-06-06
    相关资源
    最近更新 更多