【问题标题】:SSIS Bulk Insert Task Editor XML FileSSIS 批量插入任务编辑器 XML 文件
【发布时间】:2014-12-18 18:51:47
【问题描述】:

美好的一天,

我正在尝试使用 SSIS 将 XML 文件批量插入到 sql 数据库中。在批量插入任务编辑器中,在标题格式下方窗口的连接部分下方有两个选项,它们是“指定”和“使用文件”。 “指定”似乎与传统文件有关,我认为这不适用于 xml 文件(?)。另一个选项是“使用文件”,要执行此选项,我需要针对我的源文件做什么?

谢谢。

【问题讨论】:

  • 为什么不使用 XML 源的 DataFlow 任务?

标签: sql-server xml ssis


【解决方案1】:

我能够使用“执行 SQL 任务”任务中的以下脚本实现从目录中批量插入所有 xml 文件的目标。确保在“执行 SQL 任务”中选项 ByPassPrepare 设置为“真”。同样在参数映射部分,您的参数名称必须以“@”字符开头。你不能用你刚刚定义的名字在你的sql中调用你的变量,必须使用问号。如果您在同一个脚本中进行多个变量调用,则必须调整调用问号的方式。在执行 sql 任务所在的 For Each 循环容器中,转到 Collection 部分,定义要加载的文件所在的文件夹 (Folder),并将文件 (Files) 定义为 *.xml。在“参数映射”部分注册包含文件路径的用户定义变量(记住必须在变量定义中包含实际文件)。

声明@sql nvarchar(max);

设置@sql = ' 插入 testXMLwithOpenXML(XMLData, LoadedDateTime) 选择转换(XML,BulkColumn)作为 BulkColumn,GETDATE() FROM OPENROWSET(BULK ''' + ? + ''', SINGLE_BLOB) AS x;'

执行(@sql)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-13
    • 1970-01-01
    • 2017-08-10
    相关资源
    最近更新 更多