【发布时间】:2019-05-06 17:45:19
【问题描述】:
我正在尝试将本地 CSV 文件中的数据导入 Azure 数据库。这个想法是允许客户使用预先格式化的 CSV 文件对系统进行批量插入。
我使用的代码是:
BULK INSERT tmp_Import_Truck
FROM 'C:\ImportFrom\ImportData.csv'
WITH
(
FIELDTERMINATOR =',',
ROWTERMINATOR = '\n'
)
问题是我收到无法打开文件的错误。
消息 4861,级别 16,状态 1,行 1 无法批量加载,因为文件 无法打开“C:\ImportFrom\ImportData.csv”。操作系统 错误代码(空)。
我该如何解决这个问题?
【问题讨论】:
-
此路径在您的本地计算机上,而 BULK INSERT 需要服务器上的文件。 Azure SQL DB 显然不会发生这种情况。
-
我在本地运行 SSMS,到 Azure 的连接是远程的 - 我不能从本地计算机批量插入到 Azure 吗?如果没有,我如何将数据获取到 Azure 服务器(之前从未使用过 Azure)
-
是的,批量插入中指定的路径将被SQL Server引擎打开,即它必须在服务器上。 SQL Server 无法读取磁盘上的文件。您需要使用 BCP 实用程序(正如我在下面的回答中向您展示的那样)或编写程序来执行批量插入操作。
标签: sql-server azure