无法批量加载,因为无法打开文件“ File.csv”。操作系统错误代码5(访问被拒绝。)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法批量加载,因为无法打开文件“ File.csv”。操作系统错误代码5(访问被拒绝。)相关的知识,希望对你有一定的参考价值。

我在尝试从Azure Sql数据库访问Azure Blob存储并上传单个Blob /图像时遇到以下问题。得到以上。我已经配置了SAS。这是我的发现:

  • 如果容器是公共的,则下面的sql在没有凭据的情况下可以工作
  • 当为私有时,可以通过Blob URL访问Blob从浏览器(在那里使用sas令牌)
  • 如果我尝试通过Azure Sql数据库(相同的令牌)访问它,得到与上面相同的错误:

“执行查询失败。错误:由于无法打开文件” POC.png“,无法批量加载。操作系统错误代码5(访问被拒绝。)”

CREATE DATABASE SCOPED CREDENTIAL MyAzureBlobStorageCredential
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = 'sv=2018-03-28....'
go
CREATE EXTERNAL DATA SOURCE MyAzureBlobStorage 
WITH ( TYPE = BLOB_STORAGE, 
LOCATION = 'https://poc.blob.core.windows.net/poc-container',
CREDENTIAL = MyAzureBlobStorageCredential); 
go    
INSERT INTO file111 (col2)
SELECT BulkColumn FROM OPENROWSET(
 BULK  'POC.png',
DATA_SOURCE = 'MyAzureBlobStorage',
 SINGLE_BLOB
) AS DataFile;
答案

我所做的是:

  • 删除了所有不需要的权限,只保留了“读取和列出”;
  • 确保几天后生成的开始/结束日期时间在过去/将来足够远;
  • 确保{容器} {blobname}的下位/大写相同如容器中的字母;
  • LOCATION末尾没有反斜线

并且有效。任何可能导致上述错误信息的项目符号。

以上是关于无法批量加载,因为无法打开文件“ File.csv”。操作系统错误代码5(访问被拒绝。)的主要内容,如果未能解决你的问题,请参考以下文章

Azure Synapse:无法批量加载,因为无法打开文件。操作系统错误代码12(访问代码无效。)

Azure blob 到 Azure SQL 数据库:无法批量加载,因为无法打开文件“xxxx.csv”。操作系统错误代码 5(访问被拒绝。)

从共享文件夹批量插入

Neo4j LOAD CSV错误:查询无法以LOAD CSV结束

批量插入时操作系统错误代码 5(拒绝访问。)

雪花不接受批量加载的文件格式