簡體   English   中英

無法批量加載。 文件“csv”不存在或你沒有文件訪問權限——Azure

[英]Cannot bulk load. The file "csv" does not exist or you don't have file access rights -- Azure

我正在嘗試將文件從我的 Azure blob 存儲導入 Azure 托管實例。

所以首先我創建了一個外部數據源

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

然后將我的 csv 文件上傳到 blob 存儲中

當我嘗試查詢 csv 文件時,

SELECT * FROM OPENROWSET(
   BULK  'product.csv',
   DATA_SOURCE = 'MyAzureBlobStorage',
   SINGLE_CLOB) AS DataFile;

我有,

消息 4860,級別 16,狀態 1,第 99 行無法批量加載。 文件“product.csv”不存在或您沒有文件訪問權限。

有人可以幫我確定這里的問題嗎?

請驗證共享訪問簽名的開始和到期日期和時間。 將開始日期設置為上周的任何一天。 確認“允許的 IP 地址”字段為空。

SAS(共享訪問簽名)是一個按如下方式創建的字符串:

  1. 在 Azure 門戶中,轉到您的存儲帳戶
  2. 新聞共享訪問簽名
  3. 填寫字段(確保您的開始日期是幾天前,並且您可以將允許的 IP 地址留空)
  4. 按生成 SAS
  5. 復制 SAS 令牌字段中的字符串
  6. 刪除領先? 在將其粘貼到您的 SQL 腳本之前

下面是示例腳本。

CREATE DATABASE SCOPED CREDENTIAL BlobCredential
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = 'sv=SAS_TOKEN_HERE';


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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM