【问题标题】:Executing a sql query using ssis programmatically以编程方式使用 ssis 执行 sql 查询
【发布时间】:2012-07-02 06:49:57
【问题描述】:

我正在编写一个程序来生成对多个数据库执行查询的 SSIS 包。我已经使用存储过程完成了任务,但是我不想使用它。我一直在与 Dts.runtime 斗争。我正在使用 C#。

我必须直接从程序中读取查询并执行它,可能使用 ExecuteSQLTask.Execute 方法。我完全被卡住了,或者可能是我一起在错误的方向思考。

请给我一些关于问题的见解。

【问题讨论】:

  • 你能详细说明为什么不能选择存储过程吗?
  • 我已经有不同的数据库副本,因此需要在每个副本上都有存储过程。因此,我想开发一个完全基于程序的独立系统来执行任务。
  • 您所做的不仅仅是从您的程序中运行一些查询吗?
  • 您的问题很不清楚,但是如果您可以从 SSIS 包执行存储过程,那么执行“正常”SQL 有什么问题?而且你还没有解释你为什么“挣扎”或“卡住”:你有什么具体的问题或错误?
  • 只要你能执行一些东西,你也可以用一种编程语言编写一个查询字符串,它会在服务器上创建一个存储过程,或者只是将脚本保存在某个地方并通过连接执行它们

标签: c# ssis dts


【解决方案1】:

明确一点,Dts.Runtime 中的 only 执行方法是在包级别。您不需要调用 ExecuteSQLTask.Execute(顺便说一句,没有这样的事情)或 C# 中的任何内容。

只需构建你的包的可执行文件,然后执行包(或保存它或任何你想用它做的事情)。提示:使用 ExecuteSQLTask 的 SqlCommand 属性从你的程序中设置你的命令查询。

您可能还想研究一下EzApi,这使得在 C# 中以编程方式构建包变得更加容易。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多