SQL 表中的 SSIS 动态连接字符串

发布于 2025-01-02 01:35:16 字数 478 浏览 0 评论 0原文

我必须连接到许多具有连接字符串的 Foxpro 数据库,例如: 数据源=\\所有用户\\DB0009\db1.dbc;用户ID=xxx;密码=yyy;提供商=VFPOLEDB.1;持久安全信息=True;

其中文件夹 DB0009 可以是 0000 到 0100 之间的任何整数,每个文件夹的 db1.dbc 可以是 db1.dbc 或 db2.dbc。

对于每个连接字符串,我需要构建一个简单的 SQL 语句,该语句对于除硬编码年份之外的每个数据库都相同。所以sql是: select *, '2012' from table

我希望能够将连接字符串和每个连接字符串的年份存储在sql表中,可以在运行时查找。

我正在使用 SSIS 2008。根据我所看到的情况,我猜测我可以使用 foreach 循环,并将枚举器设置为 ADO 枚举器(尽管我不介意在那里进行确认),但是我如何提取年份离开同一个表并将其放入数据流任务中的 SQL 查询中?

感谢您的帮助! 卡里

I have to connect to many Foxpro databases that have a connection string like:
Data Source=\\All Users\\DB0009\db1.dbc;User ID=xxx;Password=yyy;Provider=VFPOLEDB.1;Persist Security Info=True;

where the folder DB0009 can be any integer from 0000 to 0100 and the db1.dbc can be either db1.dbc or db2.dbc for each folder.

For each connection string, I need to build a simple SQL statement that is identical for every database except for a hardcoded year. So the sql is: select *, '2012' from table

I'd like to be able to store both the connection string AND the year for each connection string in a sql table that can be looked up at run time.

I am using SSIS 2008. I'm guessing based on what i've seen that i can use the foreach loop with the enumerator set as the ADO Enumerator (though i wouldn't mind confirmation there), but how can i pull the year off of that same table and put it into the sql query i have inside a data flow task?

Thanks for any help!
Kary

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

瀟灑尐姊 2025-01-09 01:35:16

您可以执行以下步骤:

  1. 创建 foreach 循环以将连接字符串和年份值获取到变量中。
  2. 创建连接管理器,并使用表达式将连接字符串属性设置为连接字符串变量。
  3. 使用表达式创建另一个变量,该表达式使用年份变量(动态 SQL 命令字符串)创建 SQL 命令。
  4. 使用执行 SQL 任务在 foreach 中执行此操作。

以下是有关在执行 SQL 任务中映射参数的博客链接,该链接应该会有所帮助。 http://www.rafael-salas.com /2007/11/ssis-mapping-parameter-inside-of.html

You could do the following steps:

  1. Create the foreach loop to get the connection string and year values into variables.
  2. create a connection manager and, using an expression, set the connection string property to your connection string variable.
  3. Create another variable with an expression that creates your SQL command with the year variable (dynamic SQL command string).
  4. use the execute SQL task to execute this within your foreach.

Here's a link to a blog on mapping the parameter inside the Execute SQL Task that should be helpful. http://www.rafael-salas.com/2007/11/ssis-mapping-parameter-inside-of.html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文