可以';t从IIS连接到localDB

本文关键字:IIS 连接 localDB 可以 | 更新日期: 2023-09-27 17:59:57

我正试图在我和室友之间开发一个WebService(因此是本地的)。

我创建了一个数据库(.mdf),保存在我的一个文件夹和一些aspx页面中,可以访问它并检索信息。现在我正试图在IIS下部署该项目,当我必须访问本地数据库时遇到了问题。

提供程序:SQL网络接口,错误:找不到或未找到50服务器可到达的

Web Visual Studio的一切都很好!所以,如果我尝试连接刚刚从谷歌Chrome上的VS运行的数据库,一切都很好。只有当我尝试在IIS 8.0 下运行它时,才会出现此错误

(my string connection = Server=(LocalDB)''v11.0;     
AttachDbFilename=C:''Users''Asus''Desktop''RobaMia''SQLSERVER''WindowsFormsApplication3''WindowsFormsApplication3''Database2.mdf;
Integrated Security=True;Connect Timeout=30;User Instance=False)

会不会是"User Instance = False"搞砸了?


我还说,我的所有应用程序池都是用户集https://i.stack.imgur.com/Ii8Rb.jpg

可以';t从IIS连接到localDB

可能您的IIS应用程序池没有打开数据库文件C:''Users''Asus''Desktop''RobaMia''SQLSERVER''WindowsFormsApplication3''WindowsFformsApplication3''Database2.mdf的权限。我建议将应用程序池标识更改为您的本地windows用户。

请参阅此链接:将LocalDB与完整IIS一起使用,第1部分:用户配置文件-SQL Server Express WebLog-网站主页-MSDN Blogs

我也遇到了同样的问题。

  1. 从visual studio断开与服务器资源管理器到引用数据库。(它允许复制文件)
  2. 发布你的项目就像你做的,我个人做文件系统
  3. 将App_Data从本地项目手动复制到已发布的路径
  4. 在IIS中双击"应用程序池"
  5. 点击资源管理器右上角的"设置应用程序池默认值"
  6. 在流程模型下,转到标识并选择"本地系统"
  7. 完成祝你好运

它适用于您在iis中测试的所有web api。它只在IIS中托管时才适用于我的xamrine.android应用程序测试,而不是在Express中。

我在web.config中有这个。删除它为我修复了问题

<identity impersonate="true" />