在SQL Server的SSIS文件中的哪里存储CSV文件

时间:2018-09-12 16:12:48

标签: sql-server csv ssis

我有一个SSIS任务,其中控制流从外部源中提取数据,将其上传到CSV并修改行,然后将CSV文件上传到SQL Server表中。

通常,我将CSV本地文件保留在我的计算机上并在其中引用,但是在将SSIS包部署到SQL Server以作为计划作业运行时,这不再可行。此外,在这种特定情况下,我无法在SQL Server中创建一个临时表来代替CSV文件。

是否可以在SQL Server中以CSV格式上传CSV文件?另外,引用外部存储的CSV文件或替换SSIS包中的临时CSV文件(例如临时平面文件)的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

有几种方法可以实现此目的。一种方法是将其保存在网络驱动器上,并根据您在SQL Server中安装的驱动程序类型使用openrowset,openquery来访问csv文件(如表)。

查看示例:

SELECT *
FROM
        OpenRowset('MSDASQL','Driver={Microsoft Access Text Driver (*.txt, *.csv)}; 
            Extended properties=''ColNameHeader=True;
            Format=Delimited;''',
            'select * from \\server1\File.csv'
        )Bas

OR

SELECT 
    *
FROM OPENROWSET(
    'Microsoft.ACE.OLEDB.12.0',
    'Text;Database=D:\NetworkLocation\;HDR=Yes;FORMAT=Delimited(;)', 
    'SELECT * FROM [File.csv]') i