У меня есть файл CSV в хранилище BLOB-объектов Azure, и я хочу вставить содержимое файла в свою таблицу MS SQL. Мой CSV-файл и таблица, которые я использую в своем коде, имеют одинаковое количество столбцов.
Я использовал команду массовой вставки, как указано здесь: Импорт данных из файла в хранилище BLOB-объектов Azure.
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'xxxxxxxxx';
CREATE DATABASE SCOPED CREDENTIAL AzureBlobStorageCredential
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = '<I kept my SAS token here without leading question(?) mark>';
CREATE EXTERNAL DATA SOURCE GSCSVFileAzureBlobStorage
WITH ( TYPE = BLOB_STORAGE,
LOCATION = 'https://myaccount.blob.core.windows.net/csvfileshare',
CREDENTIAL= AzureBlobStorageCredential );
BULK INSERT RawItemData
FROM 'itemdata_csv_test.csv'
WITH (DATA_SOURCE = 'GSCSVFileAzureBlobStorage',FORMAT = 'CSV',FIELDTERMINATOR = ',',FIRSTROW=2);
Если я использую свой локальный путь к файлу, массовая вставка работает должным образом, но если я читаю его из большого двоичного объекта, я получаю эту ошибку:
Не удалось выполнить массовую загрузку, поскольку не удалось открыть файл "itemdata_csv_test.csv". Код ошибки операционной системы 32 (процесс не может получить доступ к файлу, потому что он используется другим процессом.).
Как я могу узнать, в чем именно заключается проблема?