当前位置: 首页 > 知识库问答 >
问题:

SSIS数据流任务中的动态SQL脚本路径

夹谷浩宕
2023-03-14

在数据流任务下,不是将源数据库的SQL查询放入查询窗口:我看到了OLE DB数据源-1的数据访问模式下的四个选项。表或视图2。视图名称变量3的表。SQL命令4。来自变量的SQL命令

我知道我可以使用一个变量,将查询存储在变量中,并在“执行SQL任务”中引用它,但我正在寻找一种方法,将所有查询存储在SQL文件中,并将其存储在数据流组件中以及“执行SQL脚本任务”中。我似乎找不到一种方法使它在数据流任务动态。有谁能帮忙吗?

共有1个答案

那利
2023-03-14

我认为将它们存储为sql文件对于任何类型的场景都没有任何好处。考虑到你所描述的情况,我会这样做。

您可以将查询作为varchar存储在数据库的表中,而不是作为文件存储。然后,您可以在结果集上进行foreach循环,并将每一行映射到变量,然后将该变量用作DataFlow中的oledb数据源的查询。

因此,创建一个变量,并在“Select query from dbo.queries”或其他任何循环上创建一个for each循环。将输出设置为您创建的变量,然后在容器中创建数据流,并使用表达式或“SQL命令from variable”设置源任务。

 类似资料:
  • 问题内容: 在SSIS中的脚本任务内部,我需要调用SQL数据库。我有一个将数据库添加到数据源文件夹中时创建的连接字符串,但是现在我不确定如何在C#代码中引用它。我知道如何在ASP网站后面的代码中执行此操作,但是SSIS似乎应该有一个更直接的方法。 编辑 实际上这行代码抛出异常: 它显示为:“无法将类型为’System._ComObject’的COM对象转换为类类型为’System.Data.Sql

  • Groovy 不仅仅被用来定义一个任务可以做什么. 举个例子, 你可以使用它来动态的创建任务. 例子 6.8. 动态的创建一个任务 build.gradle 4.times { counter -> task "task$counter" << { println "I'm task number $counter" } } 这里动态的创建了 task0, task

  • 我正在尝试使用SSIS将数据从一个数据库复制到另一个数据库。我使用SQL Server导入导出向导创建了dtsx包。我正在复制的表的列名为“id”,另一个表的名称为“moduleCategoryid”,我将它们映射在一起。 ModuleCategoryId是标识,它的自动增量为1。在源数据库中,ID不排序,如下所示: 32名称1 14名称2 7名称3 null 如果我显式地关闭ValueGener

  • 我的SSIS包使用,该任务调用来确定文件是否存在。 在上有SQL Server2008R2,该SQL Server代理的帐户为 如果我在上以windows身份验证包将成功执行。 但是,如果使用SQL Server代理执行相同的包,它将看不到'Server1'上的网络驱动器 为什么SQL Server代理作业中运行的SSIS包不将文件传输到网络文件夹? 如何在SQL Server代理作业中创建运行S

  • 身份证姓名地点1 abc Hyd 2 banu chen 3 jai bang 4 hari Hyd 5 nani Hyd 6 banti bang 7 kali chen 在此文本文件加载的基础上,我们需要动态创建位置表并加载相关数据。由于一段时间文本文件中可能有更多的位置,我们需要动态创建表并加载它。请告诉我如何使用SSIS实现此任务。我们需要foreach循环容器,但不知道如何实现此任务。请

  • 问题内容: 我的公司是一家直邮公司,随着我们通过SSIS,SQL和Excel的自动化不断发展,我们正在寻找改善工作流程的方法。 基本上,我们要做的就是能够使不在办公室的流程自动运行。即,一个文件进来了,并且根据文件放置的位置,过程将开始,而我们需要完成的任务将开始。 我们知道我们想要它做些什么,我们只是在努力从哪里开始,或者更具体地说,什么是使我们的服务自动化的最佳方法是什么? 问题答案: 您有两