当前位置: 首页 > 知识库问答 >
问题:

Azure Blob到AzureSQL表创建

王棋
2023-03-14

我正在努力改变信仰

以下是来自Microsoft的参考:https://azure.microsoft.com/en-us/updates/preview-loading-files-from-azure-blob-storage-into-sql-database/

我的CSV数据看起来像是100,“37415B4EAF943043E1111111A05370E”,“ONT”,“000”,“S”,“ABCDEF”,“AB”,“001”,“000002”,“001”,“04”,“20110902”,“11111111”,“20110830152048.1837780”,“2011”

我的BLOB容器处于公共访问级别。

步骤1:创建存储凭据。

CREATE DATABASE SCOPED CREDENTIAL Abablobv1BlobStorageCredential
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = 'sv=2017-07-29&ss=bfqt&srt=sco&sp=rwdlacup&se=2018-04-10T18:05:55Z&st=2018-04-09T10:05:55Z&sip=141.6.1.0-141.6.1.255&spr=https&sig=XIFs1TWafAakQT3Ig%3D';
GO

步骤2:

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

步骤3使用外部数据源和DB表的BULK INSERT语句

BULK INSERT dbo.TWCS
FROM 'TWCSSampleData.csv'
WITH ( DATA_SOURCE = 'Abablobv1BlobStorage', FORMAT = 'CSV'); 
GO

我正面临这个错误:

外部数据源“ABABOBV1BLOBSTORAGE”中指定的位置错误或不可访问。

有人对此有什么想法吗?

我将外部数据源的位置更改为Location=abcd。斑点。果心窗户。net/invoapprover/SampleData。现在我得到csv,无法批量加载,因为无法打开文件“SampleData.csv”。操作系统错误代码5(访问被拒绝)。对于使用大容量插入或开放行集的两个语句。我不确定应该更改哪个访问权限,因为该文件在Azure blob中,而不是在我的机器上,对此有何想法??

共有1个答案

阎令
2023-03-14

请尝试以下查询

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

确保文件不在BLOB存储的容器内。在这种情况下,您需要在外部数据源的位置参数中指定容器。如果您有一个名为“文件”的容器,那么位置应该像“https://abcd.blob.core.windows.net/files”。

这里有更多批量导入的例子。

 类似资料:
  • 作为Azure SQL数据库自动化解决方案的一部分,我尝试使用服务主体创建映射到Azure AD标识的Azure SQL数据库用户。 结果是一条错误消息:此时无法找到主体AAD_User_UPN_or_Group_Name。请稍后再试。 可以使用我自己的用户帐户创建数据库用户,操作过程完全相同。 请查看以下详细信息: 服务主体是Azure AD安全组的成员 服务主体在AzureSQL数据库中执行以

  • 我想知道如果我在现有的hbase表上创建phoenix表,它是复制(或复制)hbase表中存在的数据,还是phoenix表只是链接到hbase中存在的现有数据? 我的phoenix版本是<4.12.0,所以这个错误仍然适用于我的版本&因此不能在现有的hbase表上创建视图。

  • 我正在尝试从 Azure 机器学习工作室内部连接到 Azure SQL 数据库。根据 https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.datastore.datastore?view=azure-ml-py,建议的模式似乎是使用Datastore.register_azure_sql_database方法创

  • 问题内容: 我想创建一个字符串映射到实例。这是正确的方法吗? 问题答案: 每当我想使用A时,我都发现切片是正确的选择,例如

  • 创建pet表(宠物表),包含列:宠物名字,拥有者,物种,性别,出生日期,死亡日期: mysql> CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20), -> species VARCHAR(20), sex CHAR(1), birth DATE, death DATE); 一旦你创建了表,你可以查看刚刚创建的表是否是想创建的表: