使用 pymssql 将文本文件批量插入 SQL 服务器

Bulk Insert text file into SQL Server using pymssql

我正在尝试使用 pymssql 将文本文件导入 SQL Server 2014(我是 python 的初学者,但似乎这是最简单的方法如果你知道一点 SQL)。 SQL 服务器与我正在导入的文件位于同一台计算机上。

这是我当前的代码

SQLCon = pymssql.connect(host=ServerNm,database=DatabaseNm)
Cursor = SQLCon.cursor()

BulkInsert = '''
    BULK INSERT OD_List
    FROM {}
    WITH (
        FIRSTROW=2
      , FIELDTERMINATOR=','
      , ROWTERMINATOR='\n'
    )
'''.format("'C:\Users\thomsog1\Desktop\TM Tool\Test\SQL\Inputs\OD_List.txt'")

Cursor.execute(BulkInsert)
SQLCon.commit()

我在 Internet 上找到了一些编码示例并全部尝试都无济于事...我一直以以下错误结束:

File "pymssql.pyx", line 467, in pymssql.Cursor.execute (pymssql.c:7561)      
pymssql.OperationalError: (4861, 'Cannot bulk load because the file 
"C:\Users\thomsog1\Desktop\TM Tool\Test\SQL\Inputs\OD_List.txt" could 
not be opened. Operating system error code 123(The filename, directory name, 
or volume label syntax is incorrect.).DB-Lib error message 20018, severity 
16:\nGeneral SQL Server error: Check messages from the SQL Server\n') 

任何帮助将不胜感激!

BULK INSERT语句的FROM子句中的文件路径需要用T-SQL的单引号括起来,但它还包含反斜杠所以我们需要使用Python raw字符串 (r"..."),因此

.format(r"'C:\Users\thomsog1\Desktop\TM Tool\Test\SQL\Inputs\OD_List.txt'")