为了账号安全,请及时绑定邮箱和手机立即绑定

使用pymssql将文本文件批量插入SQL Server

使用pymssql将文本文件批量插入SQL Server

手掌心 2021-03-31 14:11:13
我正在尝试使用pymssql将文本文件导入SQL Server 2014(我是python的初学者,但是如果您了解一点SQL,似乎这是最简单的方法)。SQL Server与我要导入的文件位于同一台计算机上。这是我当前的代码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()我在互联网上找到了一些编码示例,并尝试了所有这些示例,但都无济于事...我一直以以下错误告终: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') 任何帮助将非常感激!
查看完整描述

1 回答

?
ibeautiful

TA贡献1993条经验 获得超5个赞

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

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


查看完整回答
反对 回复 2021-04-13
  • 1 回答
  • 0 关注
  • 619 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信