如何将azure Blob 的.csv文件的数据导入到sql server

前提:1.你需要在azure 上创建一个blob的存储账户

2.你需要有一个sql server 的数据库

注意:你的存储账户的不能限制要启用公用网络访问

1.打开一个sql server 的query编辑页面。

运行下面的sql语句。

CREATE MASTER KEY ENCRYPTION BY PASSWORD = '输入自定义的密码但满足'

用于加密数据库中的主密钥的密码。密码必须满足运行 SQL Server 实例的计算机的 Windows 密码策略要求。

2.

运行下面的sql语句。

红色的部分为名字存储数据库的凭据

CREATE DATABASE SCOPED CREDENTIAL MyAzureBlobStorageCredential

WITH IDENTITY = 'SHARED ACCESS SIGNATURE', SECRET = '存储账户的SAS的共享访问签名去除‘?’';  

创建数据库凭据。 数据库凭据不会映射到服务器登录或数据库用户。 只要数据库在执行需要访问权限的操作,数据库就可使用凭据访问外部位置

3.运行下面的sql语句。

CREATE EXTERNAL DATA SOURCE MyAzureBlobStorage WITH

( TYPE = BLOB_STORAGE, LOCATION = '存储账户的blob的url/容器名字' , CREDENTIAL = MyAzureBlobStorageCredential 

创建外部数据源,以便使用 SQL Server进行查询

MyAzureBlobStorage 为定义的外部数据源的名字

存储账户的blob的url

 容器名字

你的.csv存放的外层容器的名字

 MyAzureBlobStorageCredential 要与第二步创建的数据库凭据的名字保持一致

4.在你的存储账户的上传一个csv的文件,并在数据库创建一张表。

csv文件的数据个数要与数据库表的字段个数保持一致。

 

 

5.运行sql语句

BULK INSERT [dbo].[test2]
FROM '你存储在存储账户的csv文件的名字例如a.csv'
WITH (DATA_SOURCE = 'MyAzureBlobStorage',
CODEPAGE='65001',
   FIRSTROW = 2,
      FIELDTERMINATOR =',',  
      ROWTERMINATOR ='\n'
      ,KEEPNULLS
     );

将csv文件的数据插入到[dbo].[test2] 里

[dbo].[test2]:你在sql server创建的表名

MyAzureBlobStorage 要与你第三步创建的外部数据源的名字保持一致

FIRSTROW = 2,指定从csv第二行开始读 因为第一行是表头

FIELDTERMINATOR =',' 指定的字段终止符

ROWTERMINATOR ='\n'  指定的行终止符

运行第五条的sql语句即可把存储在azure blob的.csv的文件的数据插入sql  server的表内。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值