无法批量加载,因为无法打开文件“ 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(访问被拒绝。)