【问题标题】:SSIS Deployment With Script Task Can't find app.config Settings in dtexec.exe.config带有脚本任务的 SSIS 部署在 dtexec.exe.config 中找不到 app.config 设置
【发布时间】:2015-03-27 03:17:33
【问题描述】:

如果我将app.config 设置放在DtsDebugHost.exe.config 中,我有一个在Visual Studio 中运行良好的SSIS 包。

当我在dtexec.exe.config 中部署和包含设置时,它不起作用。这是一个涉及 WS2007Federation 的 WCF 应用程序,因此将所有这些都包含在代码中会很痛苦。网上关于这个的不多。我希望我没有走在最前沿。

实际的错误信息包括"This might be because the configuration file was not found"。我希望dtexec.exe.config 是正确的地方。这不对吗?

【问题讨论】:

  • 我已经研究了几天,并从下面第一个答案中提到的“我的 app.config 在哪里”帖子开始工作。这就是我知道如何使用 dtexec.exe.config。我应该提到我更改了 32 位和 64 位 binns 中的配置。我还将所有配置更改为相同。它仍然无法从服务器找到端点的配置设置,但在 Visual Studio 中找到了 dtsdebughost(32 位)中的相同配置。

标签: wcf ssis app-config ws-federation


【解决方案1】:

任务管理器来救援。管理控制台上 SSISDB 节点的可执行文件是 ISServerExec.exe。我将 app.config 设置添加到 ISServerExec.exe.config 中,一切都很好。因此,总而言之,我在 Visual Studio 上运行时成功使用了 dtsdebughost.exe.config,在从管理控制台运行部署包时成功使用了 ISServerExec.exe.config。

【讨论】:

    【解决方案2】:

    当您应该更改 64 位配置时,您可能正在更改 32 位配置,反之亦然。

    根据this,一共有五个具体的配置文件可能需要修改,下面分别详述:

    DTExec.exe.config

    DTExec.exe 是用于执行 SSIS 的独立命令行工具 包,因此它是一个带有 app.config 的执行主机 文件。

    例如C:\Program Files\Microsoft SQL 服务器\90\DTS\Binn\DTExec.exe.config

    该文件可以在 32 位和 64 位 Binn 文件夹中找到。

    DtsDebugHost.exe.config

    DtsDebugHost.exe 是商业智能使用的执行主机 执行包时的 Development Studio (BIDS)/Visual Studio 在调试模式下来自设计器,这是默认行为。

    例如C:\Program Files\Microsoft SQL 服务器\90\DTS\Binn\DtsDebugHost.exe.config

    该文件可以在 32 位和 64 位 Binn 文件夹中找到。这 可能会让一些人感到惊讶,因为 Visual Studio 只有 32 位,但是 谢天谢地,调试器支持两者。这个可以在项目中设置 属性,请参阅中的 Run64BitRuntime 属性(true 或 false) 项目属性的调试面板。

    dtshost.exe.config

    dtshost.exe 是我认为的执行主机 SQL Server 的内置功能,例如 SQL Server Agent

    例如C:\Program Files\Microsoft SQL 服务器\90\DTS\Binn\dtshost.exe.config

    此文件可以在 32 位和 64 位 Binn 文件夹中找到

    devenv.exe.config

    devenv.exe 稍有不同,它是 Visual Studio。 如果您需要某个功能,此配置文件可能还需要更改 在设计时,例如在任务编辑器或连接管理器编辑器中。

    Visual Studio 2005 for SQL Server 2005 - C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.exe.config Visual Studio 2008 用于 SQL Server 2008 - C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe.config Visual Studio 仅适用于 32 位,因此在 64 位计算机上,您必须查看 C:\Program 仅限文件 (x86)\。

    DTExecUI.exe.config

    DTExec UI 工具也可以有一个配置文件,这些可以是 在 SQL Sever 的 Tools 文件夹下找到,如下所示。

    C:\Program Files\Microsoft SQL 服务器\90\Tools\Binn\VSShell\Common7\IDE\DTExecUI.exe C:\Program 文件\Microsoft SQL 服务器\100\Tools\Binn\VSShell\Common7\IDE\DTExecUI.exe

    配置文件可能不存在,但如果你能找到匹配的 可执行文件,你知道你在正确的地方,所以可以继续添加 自己新建一个文件。

    【讨论】:

    • 谢谢你,但请看我上面的评论,因为我看过你提到的帖子,但仍然有问题。
    【解决方案3】:

    这在我重新启动服务器后工作。看起来,虽然可以动态更改 dtsdebughost.exe.config,但对 dtexec.exe.config 的更改需要重新启动才能被 SSIS 包识别。

    【讨论】:

    • 不!这似乎可行,但我使用的测试数据不需要 app.config。道歉!这仍然是一个问题。为什么部署的包在配置文件中看不到端点,而在 Visual Studio 中运行时包可以看到?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-28
    • 1970-01-01
    • 1970-01-01
    • 2023-01-09
    • 1970-01-01
    • 2016-04-25
    相关资源
    最近更新 更多