san*_*art 5 .net c# sql sql-server
我需要在本地使用数据库.我已经使用Visual Studio 2012在(LocalDB)\ v11.0 Server中创建了数据库.从例如控制台应用程序连接时,一切正常.但我的应用程序是Windows服务.尝试连接到我的数据库输出:
"... The login failed.Login failed for user 'NT AUTHORITY\SYSTEM"
Run Code Online (Sandbox Code Playgroud)
这有什么解决方案吗?也许我应该考虑为它设置其他数据库服务器?如果是,如何设置它以便只在本地可见?
san*_*art 11
所以我自己找到了解决方案,如何从作为本地系统运行的Windows服务连接(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 /维基/内容/文章/ 4609.troubleshoot-SQL服务器2012-EXPRESS-localdb.aspx
所以我共享了我的localdb(如第1篇文章中),问题是我无法连接sqlcmd命名管道np://.我在第3篇文章中找到了答案:
使用sqlcmd时,请确保使用的是SQL Server 2012版本(可在%Program Files%\ Microsoft SQL Server\110\Tools\Binn中找到).如果安装了以前版本的sqlcmd,则从命令行单独调用sqlcmd很可能使用旧版本(不支持localdb),因为较旧的路径首先出现在PATH环境变量中.通常,手动调整PATH环境变量以便首先拾取110个版本可能是个好主意.
事实上,这些小信息至关重要;)
所以我创建了用户:用户密码:pass321!@.
在我的Windows服务中,我的Sql connectionString看起来:
"Data Source=(localdb)\\.\\MyInstanceShared;Integrated Security=false;User Id=user;Password=pass321!@"
Run Code Online (Sandbox Code Playgroud)
集成安全性设置为错误值也很重要.
也许它会对某人有所帮助.