r - 使用 dbWriteTable 将数据从 Linux 服务器写入 SQL Server 时出错
问题描述
dbWriteTable
我正在尝试使用from odbc
package将数据写入 SQL Server 中的表。并且,得到这个错误:
dbWriteTable(con1, 'mtcars', mtcars[1:5, ])
错误:'CREATE TABLE "mtcars" ("row_names" varchar(255), "mpg" FLOAT, "cyl" "disp" FLOAT, "hp" FLOAT, "drat" FLOAT, "wt" FLOAT, "qsec" FLOAT, "vs" FLOAT、"am" FLOAT、"gear" FLOAT、"carb" FLOAT)' nanodbc/nanodbc.cpp:1587: 42000: [FreeTDS] [SQL Server]'mtcars' 附近的语法不正确。
它在 Windows 机器上运行良好。任何帮助,将不胜感激..
解决方案
该会话的QUOTED_IDENTIFIER选项为 OFF。可能是因为 FreeTDS 驱动程序。
SQL Server Native Client ODBC 驱动程序和用于 SQL Server 的 SQL Server Native Client OLE DB Provider 在连接时自动将 QUOTED_IDENTIFIER 设置为 ON。这可以在 ODBC 数据源、ODBC 连接属性或 OLE DB 连接属性中进行配置。对于来自 DB-Library 应用程序的连接,SET QUOTED_IDENTIFIER 的默认值为 OFF。
您可以尝试将 QUOTED_IDENTIFER 设置为 ON,或切换到Microsoft ODBC Driver for Linux。
推荐阅读
- c++ - QPdfDocument/QPdfView:如何显示动画 PDF?
- sql-server - 在同一列中排序 Asc 和 desc
- javascript - window.dataLayer.push 在本地机器上工作,但不在生产环境中
- python - 使用python从文本文件中获取'n'个唯一的随机行
- amazon-web-services - 詹金斯无法部署到 S3
- vba - 如何使非 Office 用户可以使用 MS Word 可填写表单(带有宏)?
- xml - 如何在 Talend tFileOutputXML 中自定义根标签
- javascript - 如何在 React 中不向动态结束 url 显示组件?
- php - Woocommerce 订单列表输出
- android - Android:如何从谷歌播放控制台为 beta 应用程序提供国家级更新?