SSIS - 使用 SSIS 创建 SQL Table、加载数据、运行 代码并删除 Table
SSIS - Use SSIS to Create SQL Table, Load Data, Run Code and Drop Table
我是 SSIS 的新手,如果这是重复问题,请提前致歉post,或者只是一个愚蠢的问题。
我正在尝试在 SSIS 中创建以下进程:
1- [SQL Execute Task] Create Table in SQL DB
2- [Data Flow Task] Load Data from a source file (.xls) into the Created SQL table
3- [SQL Execute Task] Run Code on Created SQL table
4- [SQL Execute Task] Drop the SQL table that was created
我 运行 遇到的问题是,当我设置 OLE DB 目标时,它需要一个已经创建的 table。我尝试创建 table 然后 运行 这个过程,它第一次工作,但第二次出错说 table 不存在,即使它跳过了创建的第 1 步table。
关于变通的任何想法,或者我在这里遗漏了一些非常明显的东西?
提前致谢!
那么首先,为什么每次都删除 table?您的包将需要 table 的一致元数据,那么为什么不截断它并保存它以供下一次加载?对于 SSIS 包来说,这是一种非常糟糕的方法。
它失败的原因是因为 SSIS 对所有组件进行设计时和运行时验证,所以它看到的只是 table 不存在,它期望在那里。
但是,如果您喜欢这种方法,则需要将目标组件的 ValidateExternalMetadata 属性 设置为 false。只要组件上的外部列与您的 CREATE TABLE 语句生成的实际列匹配,您就可以开始了。
我是 SSIS 的新手,如果这是重复问题,请提前致歉post,或者只是一个愚蠢的问题。
我正在尝试在 SSIS 中创建以下进程:
1- [SQL Execute Task] Create Table in SQL DB
2- [Data Flow Task] Load Data from a source file (.xls) into the Created SQL table
3- [SQL Execute Task] Run Code on Created SQL table
4- [SQL Execute Task] Drop the SQL table that was created
我 运行 遇到的问题是,当我设置 OLE DB 目标时,它需要一个已经创建的 table。我尝试创建 table 然后 运行 这个过程,它第一次工作,但第二次出错说 table 不存在,即使它跳过了创建的第 1 步table。
关于变通的任何想法,或者我在这里遗漏了一些非常明显的东西?
提前致谢!
那么首先,为什么每次都删除 table?您的包将需要 table 的一致元数据,那么为什么不截断它并保存它以供下一次加载?对于 SSIS 包来说,这是一种非常糟糕的方法。
它失败的原因是因为 SSIS 对所有组件进行设计时和运行时验证,所以它看到的只是 table 不存在,它期望在那里。
但是,如果您喜欢这种方法,则需要将目标组件的 ValidateExternalMetadata 属性 设置为 false。只要组件上的外部列与您的 CREATE TABLE 语句生成的实际列匹配,您就可以开始了。