C# 您可以从.net运行SSIS任务吗?
我已经安排了运行SSIS包的sql代理任务。我希望能够从.net运行SSIS包。有没有一种方法可以直接运行SSIS包,或者至少运行SQL代理任务,而SQL代理任务又将运行SSIS包 如果有帮助的话,那就是用C编写的.NET3.5Web应用程序#C# 您可以从.net运行SSIS任务吗?,c#,.net,sql-server,ssis,sql-server-agent,C#,.net,Sql Server,Ssis,Sql Server Agent,我已经安排了运行SSIS包的sql代理任务。我希望能够从.net运行SSIS包。有没有一种方法可以直接运行SSIS包,或者至少运行SQL代理任务,而SQL代理任务又将运行SSIS包 如果有帮助的话,那就是用C编写的.NET3.5Web应用程序# 谢谢 是的。查看Microsoft.SqlServer.Dts.Runtimenamespace。Package类将提供运行它的方法。可用于运行SSIS包的选项包括- 使用SSIS对象模型以编程方式运行包。这在网上书籍中有详细讨论 例如: using
谢谢 是的。查看
Microsoft.SqlServer.Dts.Runtime
namespace。Package类将提供运行它的方法。可用于运行SSIS包的选项包括-
- 使用SSIS对象模型以编程方式运行包。这在网上书籍中有详细讨论
using System;
using Microsoft.SqlServer.Dts.Runtime;
namespace RunFromClientAppCS
{
class Program
{
static void Main(string[] args)
{
string pkgLocation;
Package pkg;
Application app;
DTSExecResult pkgResults;
pkgLocation = "<package path>\CalculatedColumns.dtsx";
app = new Application();
pkg = app.LoadPackage(pkgLocation, null);
pkgResults = pkg.Execute();
Console.WriteLine(pkgResults.ToString());
Console.ReadKey();
}
}
}
使用系统;
使用Microsoft.SqlServer.Dts.Runtime;
命名空间RunFromClientAppCS
{
班级计划
{
静态void Main(字符串[]参数)
{
字符串拼写;
包装;
应用程序;
DTSECRESULT pkgResults;
pkgLocation=“\CalculatedColumns.dtsx”;
app=新应用程序();
pkg=app.LoadPackage(pkgLocation,null);
pkgResults=pkg.Execute();
Console.WriteLine(pkgResults.ToString());
Console.ReadKey();
}
}
}
- 启动DTEXEC.EXE进程。DTEXEC是用于执行SSIS包的命令行实用程序。请参见其命令行选项
- 使用SQL代理。您可以将代理作业配置为运行包(如果包是静态的,请提前手动执行,或者在运行包之前使用SMO或SQL存储过程以编程方式执行),然后使用SMO或sp_start_作业以编程方式启动它
- 使用其他实用程序为您启动DTEXEC
- 创建一个将运行包的自定义应用程序(如方法1所述使用OM,或如方法2所述使用DTEXEC)。将其公开为web服务或DCOM类,从程序中调用此服务
- 发明你自己的:)
参考:Im使用您的Winform解决方案。我在下面得到了红色的曲线:
应用程序代码>,app=newapplication()
和pkg=app.LoadPackage(pkgLocation,null)
;除了以下例外:Error 4'Application'是'System.Windows.Forms.Application'和'Microsoft.SqlServer.Dts.Runtime.Application'之间的不明确引用
和Error 6'System.Windows.Forms.Application'类型没有定义构造函数
-我需要为Winform更改什么?