“我正在尝试将本地文件批量插入到远程MS_SQL数据库中”
您的方法行不通,因为文件规范
'C:\Users\userName\Desktop\Folder\Book1.csv'只是运行Python代码的工作站上的有效路径,但是BULK
INSERT文档说明了:
data_file 必须指定 运行SQL Server的服务器 的有效路径。如果 data_file
是远程文件,请指定通用命名约定(UNC)名称。
(强调我的)。也就是说,BULK INSERT语句正在 服务器上 运行,因此 就服务器而言
,其他计算机(例如工作站)上的文件规范实际上是“远程文件”。换句话说,SQL
Server会寻找
C:UsersuserNameDesktopFolderBook1在服务器本身上
命名的文件,当失败时,它将引发“找不到路径”错误。
为了使用BULK INSERT,您需要
将文件放在SQL Server可以“查看”的网络共享上,然后提供该文件的UNC路径,或者
将文件上传到SQL Server上的本地文件夹,然后提供文件的本地(服务器)路径。
如果这两种选择都不可行,那么从Python使用的另一个选择是使用子进程模块来调用SQL
Server的bcp实用程序,以将本地文件中的数据上传到SQL Server数据库中。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)