是否可以将数据从Azure Blob批量加载到SQL Server?我正在通过Azure存储资源管理器访问文件。我很确定它可以完成,但是出现一个错误,提示“文件无法打开”。这是我的代码。
DECLARE @cmd varchar(1000)
SET @cmd = 'BULK INSERT [dbo].[dest_table]
FROM ''alldata/2019/06/29/BB/dds_id.out.20190629.gz''
WITH ( FIELDTERMINATOR = ''\n'',
FIRSTROW = 46,
ROWTERMINATOR = '''+CHAR(10)+''')';
PRINT @cmd
EXEC(@cmd)
文件以.gz结尾,因此已压缩。我认为这就是问题所在。有人可以确认。更重要的是,是否有解决方法?我所拥有的只是SQL Server。无法访问SSIS。
答案 0 :(得分:0)
压缩文件不是数据文件。
在SQL Server中以用户指定的格式将数据文件导入数据库表或视图。
参数data_file:
是数据文件的完整路径,其中包含要导入到指定表或视图中的数据。批量插入可以从磁盘(包括网络,软盘,硬盘等)中导入数据。
一种方法是先解压缩.gz文件,然后使用BULK INSERT将数据文件加载到SQL Server。
还有另一种使用Azure Data Factory进行尝试的方法。 Data Factory可以帮助您在数据集设置中解压缩.gz文件:
参考本教程:Copy data from Azure Blob storage to a SQL database by using Azure Data Factory。
希望这会有所帮助。