【问题标题】:Where to store CSV file in SSIS file within SQL Server在 SQL Server 的 SSIS 文件中存储 CSV 文件的位置
【发布时间】:2018-09-12 16:12:47
【问题描述】:

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

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

是否可以在 SQL 服务器中将 CSV 文件上传为 CSV?或者,引用外部存储的 CSV 文件或以其他方式替换 SSIS 包中的临时 CSV 文件(例如临时平面文件)的最佳方法是什么?

【问题讨论】:

  • 创建一个网络共享,您可以在其中从 SSIS pkg 写入并保留它们。假设您不想永远保留 CSV,请制定保留策略。

标签: sql-server csv ssis


【解决方案1】:

有几种方法可以实现这一点。一种方法是将其保存在网络驱动器上,然后根据您在 SQL 服务器中安装的驱动程序类型使用 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

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

【讨论】:

    猜你喜欢
    • 2019-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多