我在网上看到了相关的点点滴滴,但还是想不通。我在 IIS 和安装了 SQL Server 2012 的同一台服务器上托管 WCF 服务。我想让 WCF 服务对 SQL Server 数据库进行 CRU&D 操作。
我已经读到,因为我在 WCF 服务中创建连接字符串,所以我需要将其视为远程 SQL Server 实例(尽管在同一台服务器上)。但是,我正在对域用户使用集成安全性。我看到的最佳答案是:
创建本地用户并使用该本地用户帐户的远程连接字符串:Windows Service unable to connect to SQL Server on localhost
使用远程 SQL Server 实例(我想创建一个完整的其他 SQL Server)。
但除此之外,我迷路了。我想知道是否还有其他选择。可能是一个保留我的域用户帐户并创建正确的连接字符串的人?任何建议将不胜感激。
顺便谢谢大家!
最佳答案
好吧,您还没有说现有的连接字符串有什么问题。因此,让我探索这个答案中的所有可能性——
由于您使用域用户连接到您的数据库,因此您需要在登录名下将域/本地 Windows 用户组添加到您的 SQL Server,以允许该组用户连接到您的服务器。默认情况下,除非明确添加,否则所有人都被拒绝访问。
接下来,您的连接字符串采用 [J0e3gan] 已发布的格式。在你的 WCF 服务的 web.config 文件中,确保你有这样的东西——
<connectionStrings><add name="DbConnection" connectionString="Data Source=(local);Initial Catalog=MyDataase;Persist Security Info=False;Integrated Security=SSPI;" providerName="System.Data.SqlClient" /></connectionStrings>
在 IIS 中,将用于 WCF 服务的应用程序池的“身份”设置为与您要用于验证/授权 WCF - 数据库连接的域用户相同。
如果您需要更多信息,请告诉我。
关于c# - WCF 服务和本地主机 SQL Server 的连接字符串是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23589206/