WCF服务和本地主机SQL Server的连接字符串是什么?

本文关键字:连接 字符串 是什么 Server SQL 服务 主机 WCF | 更新日期: 2023-09-27 18:02:57

我在网上看到了与此相关的点点滴滴,但我仍然不明白。我在IIS和同一台服务器上托管了一个WCF服务,我安装了SQL server 2012。我想有WCF服务对SQL Server数据库的CRU&D操作。

我已经读到,因为我在WCF服务中创建连接字符串,我需要将其视为远程SQL Server实例(尽管在同一台服务器上)。但是,我正在使用与域用户集成的安全性。我所见过的最好的答案是:

  1. 创建一个本地用户并使用该本地用户帐户的远程连接字符串:Windows服务无法连接到本地主机上的SQL Server

  2. 使用远程SQL Server实例(我猜创建一个完整的其他SQL Server)

在这些之外,我迷路了。我想知道有没有别的选择。可能是一个保持我的域用户帐户,并创建一个适当的连接字符串?如有任何建议,不胜感激。

顺便谢谢你!

WCF服务和本地主机SQL Server的连接字符串是什么?

好吧,您还没有说现有连接字符串的问题是什么。所以让我来探讨一下这个答案的所有可能性——

  1. 因为你正在使用域用户连接到你的数据库,你需要添加一个域/本地Windows用户组到你的SQL Server下的登录,以允许一组用户连接到你的服务器。默认情况下,除非显式添加,否则每个人都被拒绝访问。

  2. 接下来,您的连接字符串是[J0e3gan]已经发布的格式。在网上。你的WCF服务的配置文件,确保你有这样的东西——

    <connectionStrings><add name="DbConnection" connectionString="Data Source=(local);Initial Catalog=MyDataase;Persist Security Info=False;Integrated Security=SSPI;" providerName="System.Data.SqlClient" /></connectionStrings>
    
  3. 在IIS中,将用于WCF服务的应用程序池的"身份"设置为与您想要用于验证/授权WCF -数据库连接的域用户相同。

如果您需要进一步的信息,请告诉我

不需要使用远程SQL Server实例或在连接字符串中放弃Windows身份验证。iis托管的WCF服务可以很好地使用这两种服务。

你的连接字符串应该看起来像这样:

<add name="DbConnection" connectionString="Data Source=.;Initial Catalog=MyDatabase;Persist Security Info=False;Integrated Security=SSPI;" providerName="System.Data.SqlClient"/>

另外,您可能会发现ConnectionStrings.com SQL Server 2012页面很有帮助。多年来,我发现ConnectionStrings.com对于不同版本的SQL Server,不同的客户端等的现实检查连接字符串的变化是非常宝贵的。