这些是涉及的对象:
DbVisualizer
或macsqlclient
(如Window的Management Studio)\Users\john\persons.csv
我正在尝试使用我的sql客户端执行TSQL BULK INSERT,如下所示:
BULK INSERT persons from '\users\john\persons.csv'
WITH
(
DATAFILETYPE = 'char',
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\r\n'
);
但是我收到了这个错误:
Cannot bulk load because the file "\users\john\persons.csv" could not be opened.
Operating system error code (null).
......我该如何解决这个问题?我应该在Macbook中使用什么文件路径?
答案 0 :(得分:1)
您需要在Azure中拥有一个存储帐户才能使用批量插入。下面是步骤
<强>步骤1:强>
创建外部数据源MyAzureBlobStorage WITH(TYPE = BLOB_STORAGE, LOCATION =&#39; https://myazureblobstorage.blob.core.windows.net&#39;, CREDENTIAL = MyAzureBlobStorageCredential);
<强>步骤2:强>
现在你需要将你的文件放在blob容器中并像下面那样访问它
BULK INSERT Product
FROM 'product.csv'
WITH ( DATA_SOURCE = 'MyAzureBlobStorage',
FORMAT='CSV', CODEPAGE = 65001, --UTF-8 encoding
FIRSTROW=2,
TABLOCK);
如果您的blob是公开的,则不需要凭据,否则您需要创建凭据
- CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'some strong password';
-- 1.1.2. (optional) Create credential with Azure Blob SAS
--
-- CREATE DATABASE SCOPED CREDENTIAL MyAzureBlobStorageCredential
-- WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
-- SECRET = 'sv=2015-12-11&ss=b&srt=sco&sp=rwac&se=2017-02-01T00:55:34Z&st=2016-12-29T16:55:34Z&spr=https&sig=copyFromAzurePortal';
-- NOTE: DO NOT PUT FIRST CHARACTER '?'' IN SECRET!!!