使用 dbWriteTable 将数据从 Linux 服务器写入 SQL 服务器时出错

Error while writing data from Linux server to SQL Server using dbWriteTable

我正在尝试使用 odbc 包中的 dbWriteTable 将数据写入 SQL 服务器中的 table。并且出现此错误:

dbWriteTable(con1, 'mtcars', mtcars[1:5, ])

Error: '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]Incorrect syntax near 'mtcars'.

它在 windows 机器上工作正常。任何帮助将不胜感激..

该会话的 QUOTED_IDENTIFIER 选项已关闭。可能是因为 FreeTDS 驱动。

The SQL Server Native Client ODBC driver and SQL Server Native Client OLE DB Provider for SQL Server automatically set QUOTED_IDENTIFIER to ON when connecting. This can be configured in ODBC data sources, in ODBC connection attributes, or OLE DB connection properties. The default for SET QUOTED_IDENTIFIER is OFF for connections from DB-Library applications.

您可以尝试将 QUOTED_IDENTIFER 设置为 ON,或切换到 Microsoft ODBC Driver for Linux