gpt4 book ai didi

asp.net - 从 Asp.net 应用程序执行 SSIS

转载 作者:行者123 更新时间:2023-12-02 12:30:01 25 4
gpt4 key购买 nike

我正在尝试运行一个简单的 SSIS 包(将数据从外部文件夹复制到 SQL 2005 表中)。我想从 Asp.net 2.0 应用程序运行这个包。有什么建议吗?

我搜索了许多不同的博客和网站,但所有这些方法都导致失败(通常是因为安全问题)

dtexec/FILE“包名称”等

EXEC master..xp_cmdshell @cmd(据说是一个非常糟糕的主意)

sp_start_job

app.LoadPackage(@"\servername\sharename\Package1.dtsx", null)

预先感谢您能给我的任何帮助。

最佳答案

好吧, jack ,你列出的只是半正确答案的大杂烩。

启动 SSIS 包的方法有很多。然而,最好的方法可能是sp_start_job 。现在,这意味着您已经 created a job这将运行您的 SSIS 包。

很多时候,这只小狗会因为凭据问题而失败。也就是说,您正尝试以 SQL Server 代理帐户(又名 LOCAL SYSTEM)来运行该死的东西,这对于执行能力来说并不是一个好兆头。因此,您需要create a Credential ,然后 a Proxy让作业运行为。因此,您需要做的是:

CREATE CREDENTIAL MyCred WITH IDENTITY 'CORP\MyUser', SECRET = '<PassGoesHere>'
GO
sp_add_proxy @proxy_name='MyProxy', @enabled = 1, @credential = 'MyCred'
GO
sp_grant_proxy_to_subsystem @proxy_name = 'MyProxy', @subsystem_id = 3
GO
sp_add_job @job_name = 'MyJob', @enabled = 1
GO
sp_add_jobstep
@job_name = 'MyJob',
@step_name = 'Run SSIS Package',
@subsystem = 'CMDEXEC',
@command = 'dtexec /F C:\Path\To\Package.dtsx',
@proxy_name = 'MyProxy'

有意义的文档:

  1. CREATE CREDENTIAL
  2. sp_add_proxy
  3. sp_grant_proxy_to_subsystem
  4. sp_add_job
  5. sp_add_jobstep

关于asp.net - 从 Asp.net 应用程序执行 SSIS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1194652/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com