我将在本地网络上演示一个ASP.NETMVC网站。此应用程序与数据库有连接:
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-EBC-20141127093222.mdf;Initial Catalog=aspnet-EBC-20141127093222;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>
字符串
**我想如果这个数据库可以使用IIS和每当我在本地运行我的应用程序。**我做了一个网站上的IIS -它是运行.NET v4。我的项目位于c:\inetpub\www\ebc
。我可以发布网站,但在查看页面时收到此错误:
“建立到SQL Server的连接时发生了与网络相关的或特定于示例的错误。找不到服务器或无法访问。请验证示例名称是否正确,以及SQL Server是否配置为允许远程连接。(provider:SQL Network Interfaces,错误:50 -发生本地数据库运行时错误。LocalDB示例API方法调用内部发生意外错误。有关错误详细信息,请参阅Windows应用程序事件日志。”
我知道我需要允许通过microsoft sql server管理器远程连接到sql server?有没有办法在别的地方做?
5条答案
按热度按时间0x6upsns1#
当计算机中安装了多个版本的SQL Server localDB时,此错误非常常见。
尝试使用
(localdb)\mssqllocaldb
作为连接到LocalDB自动示例的公共服务器名称,而不是“v11.0”或“v12.0”。上面的自动localdb示例,在所有版本中都有一个默认名称,避免了名称和版本之间的冲突。
重要提示:当更新localdb到新版本时,请记住使用旧版本创建的数据库不能与新版本一起使用。
zrfyljdw2#
我是这样解决的:
首先以管理员身份使用Developer PowerShell或Visual Studio的Developer Command Prompt,并确认您只有一个LocalDb示例。
键入
sqllocaldb info
查看LocalDb示例。的数据
然后,我按照这篇文章,并将应用程序池标识设置为我当前登录的用户,credit:https://stackoverflow.com/a/38294458/3850405
https://learn.microsoft.com/en-us/archive/blogs/sqlexpress/using-localdb-with-full-iis-part-1-user-profile的
在那里,我发现对于应用程序池,将
Load User Profile
设置为true是不够的,还需要将通常位于C:\Windows\System32\inetsrv\config
的applicationHost.config
中的setProfileEnvironment
设置为true。使用此配置,它工作:的
原文回答:
https://stackoverflow.com/a/62810876/3850405的
mitkmikd3#
请看这篇文章:这两篇关于在完整的IIS中使用LocalDB的文章应该会给予你更多的信息。尤其是第二部分似乎相关,但第一部分也包含一些背景。
信用:IIS connecting to LocalDB
z9ju0rcb4#
1.以管理员身份运行记事本应用程序并导航到文件夹C:\Windows\System32\inetsrv\config。打开文件applicationHost.config,搜索“setProfileEnvironment”并将其值设置为“true”。保存并退出记事本。
1.以管理员身份运行命令提示符应用程序,并执行以下命令:SQLLOCALDB SHARE MSSQLLocalDB IIS_MSSQLLocalDB
1.将连接字符串中的“数据源”值更改为(localDb).\IIS_MSSQLLocalDB。
1.在LocalDB上执行以下sql命令:
@AnotherGeek在这个非常线程上。- 谢谢-谢谢
xdyibdwo5#
最好的解决方案是使用SQL表达式,但如果您不想这样做,您必须执行几个步骤才能使您的mvc应用程序与localdb一起工作
1.以管理员身份打开Visual studio命令提示符
1.执行
sqllocaldb share v11.0 IIS_DB
(然后数据库将被共享,IIS可以访问它)1.将站点连接字符串更改为指向DB的共享示例:
Data Source=(LocalDb)\.\IIS_DB
然后再次发布请注意,在这一点上,您可能会收到一个访问拒绝错误,并且有如何修复它
1.转到VisualStudio => DatabaseExplorer =>添加连接
1.对于服务器名称,输入
(LocalDb)\.\IIS_DB
,然后右键单击连接并选择new query并执行此命令字符串