首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从迁移到本地IIS后无法使用server (LocalDB)

问从迁移到本地IIS后无法使用server (LocalDB)
EN

Stack Overflow用户
提问于 2014-02-27 08:14:14
回答 3查看 4.2K关注 0票数 5

当我在本地IIS下运行我的网站而不是嵌入式instead时,我在访问数据库时出现了以下错误(mdf文件位于app_data)

在建立到Server的连接时发生了与网络相关的或特定于实例的错误.找不到或无法访问服务器。验证实例名是否正确,以及Server是否配置为允许远程连接。(提供程序: SQL网络接口,错误: 26 -指定的服务器/实例定位错误)

在这里,连接字符串:

代码语言:javascript
复制
Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\Sources\Local\WebApplication1\WebApplication1\App_Data\aspnet-WebApplication1-20140226022052.mdf;Integrated Security=True

通过Visual和IIS Express,我可以连接到该数据库:

https://db.tt/rBXiwyA5

但问题是,我需要从另一台计算机访问已部署的应用程序,而且IIS Express不允许远程连接。这就是为什么我被迫使用本地IIS。

谢谢你的建议!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-03-14 01:30:40

票数 2
EN

Stack Overflow用户

发布于 2014-10-21 22:26:41

如果你在使用EntityFramework,试着把它放在App.config上,为我工作。

​

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </configSections>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="v11.0" />
      </parameters>
    </defaultConnectionFactory>
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
  </entityFramework>
</configuration>

​

票数 0
EN

Stack Overflow用户

发布于 2020-03-24 15:55:25

有几件事可以尝试:

  1. 以…的格式提供连接字符串。

代码语言:javascript
复制
  Data Source=(LocalDb)\MSSQLLocalDB;Initial Catalog=aspnet-WebApplication;Integrated Security=SSPI
  1. 在IIS上,右键单击相关的App,然后转到,然后将“”设置为true。根据我的经验,这并没有改变任何事情,所以我必须在C:\ applicationHost.config \System32 32\inetsrv\config中找到的文件中手动地这样做。具体来说,确保将"loadUserProfile“和"setProfileEnvironment”属性设置为true:

代码语言:javascript
复制
    <applicationPools>
        ..
        <add name="MyAppPool" autoStart="true" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated">
           <processModel identityType="ApplicationPoolIdentity" loadUserProfile="true" setProfileEnvironment="true" />
        </add>
        ..
    <applicationPools>

或者,您可以尝试将下的身份从ApplicationPoolIdentity更改为LocalSystem.

  1. 在完成这些操作之后,您将希望停止获得此错误,但是您可能会发现应用程序的行为就好像数据库中没有数据一样。这是因为与SQLExpress或Server不同,LocalDB作为一个特定于用户的进程运行.因此,您可能需要为当前数据库用户设置数据库种子(取决于所使用的Application /Identity)。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22062684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档