【问题标题】:Calling SSIS package from WCF从 WCF 调用 SSIS 包
【发布时间】:2014-10-29 19:28:54
【问题描述】:

这里有一个类似的问题,但没有真正的答案。

这是上一个问题: Invoking SSIS Package from WCF service (tcp binding)

我有一个非常相似的问题。我有一个用于 UI 的 VB.net 应用程序,它调用我在 IIS 中本地托管的 C# WCF 服务,该服务又调用我使用项目部署方法部署到 SQL Server 2012 的 SSIS 包.如果我使用 WCF 测试客户端来测试对 SSIS 包的 WCF 调用,它运行良好。一旦我将 WCF 服务部署到 IIS,然后尝试在 Visual Studio 2013 中运行我的 VB.net 应用程序并逐步执行调用 WCF 服务的代码,然后进入 WCF 服务代码,一旦它到达尝试的代码行连接到我的 SQL Server 实例,我得到一个异常说明

连接服务器失败

InnerException

用户“域名\PCName$”登录失败

WCF代码中的连接字符串是这样的:

SqlConnection connection = new SqlConnection(@"Data Source=PCName\SQLServerInstance;Initial Catalog=DBName;Integrated Security=SSPI;");

我已尝试为DomainName\PCName$ 添加 Windows 身份验证登录到 SQL Server,但没有任何区别。为什么当我使用 WCF 测试客户端在 Visual Studio 中测试 WCF 服务时能够成功连接到我的 SQL Server 实例,但将 WCF 服务发布到本地 IIS 后却无法成功连接?

请帮助我,我已经尝试了一切(我认为)。 . .

【问题讨论】:

  • 要确认 DomainName\PCName$ 帐户是否有权访问您的数据库,是否可以尝试以 DomainName\PCName$ 身份运行 Visual Studio?我希望在这种情况下,您的 WCF 服务将无法连接到 DBName。
  • 感谢您这么快的回答!!!当我以其他用户身份运行 Visual Studio 时,它会提示输入用户名和密码。我尝试使用空白密码,但它不起作用。有什么想法吗?
  • 事实上,即使我更改连接字符串以包含我的凭据(SQL Server 实例托管在我的 PC 上,我是管理员),我得到“用户 'MyUserName 登录失败'。我只是不明白为什么 WCF 服务可以从 VS 正常连接,但一旦我发布它就不能从 IIS...

标签: c# vb.net wcf ssis


【解决方案1】:

我找到了解决办法!感谢院长的建议——这太棒了。我是新来的 Stack Overflow,所以请原谅我糟糕的格式。基本上,答案在这里找到了:

https://social.msdn.microsoft.com/Forums/sqlserver/en-US/ff441dc3-b43b-486b-8be1-00126cf53812/calling-ssis-packages-from-aspnet-packages-with-file-system-tasks-end-abruptly?forum=sqlintegrationservices

我在 IIS 中创建了一个新的应用程序池,仅用于 WCF 服务。我将该池的身份更改为管理员用户并且在 SQL Server DB 上具有 dbo 权限。然后我将我的 WCF 服务移动到那个新的应用程序池,重新启动 IIS,一切正常!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-13
    • 2017-01-27
    • 1970-01-01
    相关资源
    最近更新 更多