我需要在本地使用数据库。我已经使用Visual Studio 2012在(LocalDB)\v11.0 Server中创建了数据库。控制台应用程序。但是我的应用程序是Windows Service。尝试通过以下方式连接到我的数据库输出:
"... The login failed.Login failed for user 'NT AUTHORITY\SYSTEM"
有什么解决办法吗?也许我应该考虑为此设置其他数据库服务器?如果是,如何设置它使其仅在本地可见?
最佳答案
所以我自己找到了解决方案,如何从作为本地系统运行的Windows Service连接(localdb)的实例:
我使用了这篇文章:
http://technet.microsoft.com/pl-pl/library/hh212961.aspx
http://dba.fyicenter.com/faq/sql_server_2/Verifying_a_Login_Name_with_SQLCMD_Tool.html
http://social.technet.microsoft.com/wiki/contents/articles/4609.troubleshoot-sql-server-2012-express-localdb.aspx
因此,我共享了localdb(如第一篇文章所述),问题是我无法与名为pipe np://的sqlcmd连接。我在第三篇文章中找到了答案:
实际上,这些小信息至关重要;)
所以我创建了用户:用户,密码: pass321!@ 。
在我的Windows服务中,我的Sql connectionString看起来是:
"Data Source=(localdb)\\.\\MyInstanceShared;Integrated Security=false;User Id=user;Password=pass321!@"
将集成安全性设置为假值也很重要。
也许会帮助别人。
关于c# - 如何从Windows服务访问localDB,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21830727/