SSIS 读取脚本任务上的平面文件连接
SSIS read flat file connection on script task
我正在处理一个 2008 SSIS,我需要在其中读取一个平面文件以便我可以访问它的内容(它有 3 个目录路径),所以我可以将这 3 个路径存储到变量中。
根据我正在处理的实例(dev、qa、production),平面文件将位于 3 个不同的服务器中,所以我不能只将路径写入变量,因为我必须每次我需要在不同的实例中部署解决方案时重写该值。
我过去曾尝试过使用 Directory.GetCurrentDirectory() 读取平面文件,但我无法调试它并且在 VS2008 上使用 F5/run 包也没有工作(我读到它在 VS 上不起作用,但是一旦你部署了它就可以正常工作,但我没有办法证明它,只能尝试)。
所以,我想通了,如果我可以读取保存在平面文件连接上的路径并将其保存在字符串变量中,我就可以在部署包后修改 .config 文件中的连接字符串值,并像普通平面文件一样阅读其内容。
我的问题是我无法弄清楚如何读取连接字符串值,而且我在网上找不到任何指向正确方向的信息。
提前致谢。
您需要类似于 C# 脚本任务的东西。您可以在那里动态修改连接字符串。在脚本中,您将修改 Dts.Connections.["YourConnection"].ConnectionString
.
的值(如果我没记错的话)
要从脚本任务访问连接管理器信息,您可以使用 Dts.Connections
属性,只需声明一个字符串变量,然后读取连接字符串 属性:
string cs;
cs = Dts.Connections["myFlatFileConnection"].AcquireConnection(Dts.Transaction);
参考:
Connection managers provide access to data sources that have been configured in the package. For more information.
The Script task can access these connection managers through the Connections property of the Dts object. Each connection manager in the Connections collection stores information about how to connect to the underlying data source. Read more (+examples)
由于似乎没有任何效果,我最终做了以下事情:
- 在数据库中的参数 table 中插入了我需要的值
- 生成了执行 SQL 任务
- 将该任务的结果分配给变量
我花了一整天,但我终于明白了。
我关注了 this 线程作为参考。
我正在处理一个 2008 SSIS,我需要在其中读取一个平面文件以便我可以访问它的内容(它有 3 个目录路径),所以我可以将这 3 个路径存储到变量中。
根据我正在处理的实例(dev、qa、production),平面文件将位于 3 个不同的服务器中,所以我不能只将路径写入变量,因为我必须每次我需要在不同的实例中部署解决方案时重写该值。
我过去曾尝试过使用 Directory.GetCurrentDirectory() 读取平面文件,但我无法调试它并且在 VS2008 上使用 F5/run 包也没有工作(我读到它在 VS 上不起作用,但是一旦你部署了它就可以正常工作,但我没有办法证明它,只能尝试)。
所以,我想通了,如果我可以读取保存在平面文件连接上的路径并将其保存在字符串变量中,我就可以在部署包后修改 .config 文件中的连接字符串值,并像普通平面文件一样阅读其内容。
我的问题是我无法弄清楚如何读取连接字符串值,而且我在网上找不到任何指向正确方向的信息。
提前致谢。
您需要类似于 C# 脚本任务的东西。您可以在那里动态修改连接字符串。在脚本中,您将修改 Dts.Connections.["YourConnection"].ConnectionString
.
要从脚本任务访问连接管理器信息,您可以使用 Dts.Connections
属性,只需声明一个字符串变量,然后读取连接字符串 属性:
string cs;
cs = Dts.Connections["myFlatFileConnection"].AcquireConnection(Dts.Transaction);
参考:
Connection managers provide access to data sources that have been configured in the package. For more information. The Script task can access these connection managers through the Connections property of the Dts object. Each connection manager in the Connections collection stores information about how to connect to the underlying data source. Read more (+examples)
由于似乎没有任何效果,我最终做了以下事情:
- 在数据库中的参数 table 中插入了我需要的值
- 生成了执行 SQL 任务
- 将该任务的结果分配给变量
我花了一整天,但我终于明白了。
我关注了 this 线程作为参考。