У меня есть учетная запись хранилища озера данных Azure (Gen 2) с несколькими контейнерами.Я хотел бы импортировать файл salesorderdetail.csv
из контейнера Sales в базу данных SQL Azure.
Я успешно построил тот же процесс с помощью фабрики данных Azure, но теперь я хочу попробовать и заставить его работать только с помощью стандартных операторов T-SQL.
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'XxxxxxXX#'
CREATE DATABASE SCOPED CREDENTIAL MK_Cred_Data_Load
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = 'sv=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX%3D';
CREATE EXTERNAL DATA SOURCE MK_ADLS_Sales
WITH (TYPE = BLOB_STORAGE,
LOCATION = 'https://mkpracticestorageaccount.blob.core.windows.net/sales',
CREDENTIAL = MK_Cred_Data_Load);
Приведенный выше код работает правильно, поскольку я вижу внешний источник данных, созданный в окне обозревателя объектов в SSMS:
Следующий код должен вставить данные из файла salesorderdetail.csv в таблицу [lnd].salesorderdetail
:
TRUNCATE TABLE [lnd].[SalesOrderDetail]
BULK INSERT [lnd].[SalesOrderDetail]
FROM 'salesorderdetail.csv'
WITH (DATA_SOURCE = 'MK_ADLS_Sales', FORMAT = 'CSV', FIRSTROW=2,
FIELDTERMINATOR = ',', ROWTERMINATOR = '\n')
Вместо этого он выводит следующее сообщение об ошибке:
Ссылочный внешний источник данных "MK_ADLS_Sales" не найден.
Я также попробовал следующее, но появляется то же сообщение об ошибке, что и выше.
SELECT *
FROM OPENROWSET(BULK 'salesorderdetail.csv',
DATA_SOURCE = 'MK_ADLS_Sales',
SINGLE_CLOB) AS DataFile;
Может кто-нибудь, пожалуйста, помогите?Спасибо!
(с использованием SSMS v17.9, стандартная версия базы данных SQL Azure, Windows 10)