gpt4 book ai didi

sql-server - Macbook 上的 TSQL "BULK INSERT"

转载 作者:行者123 更新时间:2023-12-03 05:52:21 25 4
gpt4 key购买 nike

这些是涉及的对象:

  • 我的 Macbook
  • 托管在 Azure 中的 SQL Server
  • SQL Server 客户端:DbVisualizermacsqlclient(如 Window 的 Management Studio)
  • 我的 Mac 中的文件位于 \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 中使用什么文件路径?

最佳答案

您需要在 Azure 中有一个存储帐户才能使用批量插入。以下是步骤

第一步:

CREATE EXTERNAL DATA SOURCE MyAzureBlobStorage WITH ( TYPE = BLOB_STORAGE, LOCATION = 'https://myazureblobstorage.blob.core.windows.net', CREDENTIAL= MyAzureBlobStorageCredential);

第二步:
现在您需要将文件放入 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!!!

引用文献:
sql-server-samples/samples/features/sql-bulk-load/load-from-azure-blob-storage/LoadFromAzureBlobStorage.sql

关于sql-server - Macbook 上的 TSQL "BULK INSERT",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46291208/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com