发布 IIS 时连接到 DB.mdf 时出错
Error Connecting to DB.mdf when published IIS
我一直在搜索所有不同的资源来解决我的问题。我已经在 IIS 上发布了一个我一直在开发的网站,这是我在 IIS 上发布的第一个网站。
我好像无法连接到数据库。
我会在这里提供我所做的一切..
感谢任何帮助....
我的web.config
文件在发布的网站目录C:\FinancialHubTest
中。
在旁注中,我还尝试将 User Instance=True
添加到我的 web.config
文件中的连接字符串,但它不起作用..
<connectionStrings>
<!--<add name="ConnStr" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFileName=|DataDirectory|\FinancialHub.mdf;Integrated Security=True" />-->
<add name="ConnStr"
connectionString="Data Source=(LocalDB)\.\IIS_DB;Integrated Security=True;" />
</connectionStrings>
来自 cmd
的 MSSQLLocalDB
的详细信息
C:\Windows\System32\inetsrv\config 中的 applicationHost 文件用 Notepad2 编辑。
我正在使用 FinancialHub 作为我在 IIS 中发布的网站的应用程序池
<applicationPools>
<add name="DefaultAppPool" managedRuntimeVersion="v4.0" />
<add name="Classic .NET AppPool" managedRuntimeVersion="v2.0" managedPipelineMode="Classic" />
<add name=".NET v2.0 Classic" managedRuntimeVersion="v2.0" managedPipelineMode="Classic" />
<add name=".NET v2.0" managedRuntimeVersion="v2.0" />
<add name=".NET v4.5 Classic" managedRuntimeVersion="v4.0" managedPipelineMode="Classic" />
<add name=".NET v4.5" managedRuntimeVersion="v4.0" />
<add name="FinancialHub" autoStart="true" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated">
<processModel identityType="ApplicationPoolIdentity" loadUserProfile="true" setProfileEnvironment="true" />
</add>
<applicationPoolDefaults managedRuntimeVersion="v4.0">
<processModel identityType="ApplicationPoolIdentity" loadUserProfile="true" setProfileEnvironment="false" />
</applicationPoolDefaults>
</applicationPools>
我发布的网站目录 App_Data 有 FinancialHub.mdf 文件
我的 SQL 服务器对象资源管理器,只有当我通过 Visual Studio 2015 运行 我的网站时才会出现连接我认为这将是 运行 宁在 IIS Express 上。 .
我每次在这里和那里更改时都会收到此错误,但我真的很确定为什么.. 或者更确切地说,我对 web.config 等所做的更改会导致此错误。我也检查了 windows 事件日志。
我也点击了这两个链接来处理这个问题,
Using LocalDB with Full IIS, Part 1: User Profile,
Using LocalDB with Full IIS, Part 2: Instance Ownership
如果需要更多信息,我可以提供..
我觉得我一直在拐弯抹角想弄清楚,但我似乎无法解决它..
非常感谢您的帮助。非常感谢。
即使在将应用程序发布到 IIS 后,您仍在使用 LocalDB。 LocalDB (SQL Database inside App_Data) 主要用于开发和测试目的。
当您在 IIS 上托管网站时,您需要一个真正的 SQL 服务器。因此,您需要在托管应用程序的同一台服务器或专用的 SQL 服务器中安装 SQL 服务器。然后将现有数据库附加或复制到 SQL 服务器。
我一直在搜索所有不同的资源来解决我的问题。我已经在 IIS 上发布了一个我一直在开发的网站,这是我在 IIS 上发布的第一个网站。
我好像无法连接到数据库。
我会在这里提供我所做的一切..
感谢任何帮助....
我的web.config
文件在发布的网站目录C:\FinancialHubTest
中。
在旁注中,我还尝试将 User Instance=True
添加到我的 web.config
文件中的连接字符串,但它不起作用..
<connectionStrings>
<!--<add name="ConnStr" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFileName=|DataDirectory|\FinancialHub.mdf;Integrated Security=True" />-->
<add name="ConnStr"
connectionString="Data Source=(LocalDB)\.\IIS_DB;Integrated Security=True;" />
</connectionStrings>
来自 cmd
的MSSQLLocalDB
的详细信息
C:\Windows\System32\inetsrv\config 中的 applicationHost 文件用 Notepad2 编辑。 我正在使用 FinancialHub 作为我在 IIS 中发布的网站的应用程序池
<applicationPools>
<add name="DefaultAppPool" managedRuntimeVersion="v4.0" />
<add name="Classic .NET AppPool" managedRuntimeVersion="v2.0" managedPipelineMode="Classic" />
<add name=".NET v2.0 Classic" managedRuntimeVersion="v2.0" managedPipelineMode="Classic" />
<add name=".NET v2.0" managedRuntimeVersion="v2.0" />
<add name=".NET v4.5 Classic" managedRuntimeVersion="v4.0" managedPipelineMode="Classic" />
<add name=".NET v4.5" managedRuntimeVersion="v4.0" />
<add name="FinancialHub" autoStart="true" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated">
<processModel identityType="ApplicationPoolIdentity" loadUserProfile="true" setProfileEnvironment="true" />
</add>
<applicationPoolDefaults managedRuntimeVersion="v4.0">
<processModel identityType="ApplicationPoolIdentity" loadUserProfile="true" setProfileEnvironment="false" />
</applicationPoolDefaults>
</applicationPools>
我发布的网站目录 App_Data 有 FinancialHub.mdf 文件
我的 SQL 服务器对象资源管理器,只有当我通过 Visual Studio 2015 运行 我的网站时才会出现连接我认为这将是 运行 宁在 IIS Express 上。 .
我每次在这里和那里更改时都会收到此错误,但我真的很确定为什么.. 或者更确切地说,我对 web.config 等所做的更改会导致此错误。我也检查了 windows 事件日志。
我也点击了这两个链接来处理这个问题,
Using LocalDB with Full IIS, Part 1: User Profile,
Using LocalDB with Full IIS, Part 2: Instance Ownership
如果需要更多信息,我可以提供..
我觉得我一直在拐弯抹角想弄清楚,但我似乎无法解决它..
非常感谢您的帮助。非常感谢。
即使在将应用程序发布到 IIS 后,您仍在使用 LocalDB。 LocalDB (SQL Database inside App_Data) 主要用于开发和测试目的。
当您在 IIS 上托管网站时,您需要一个真正的 SQL 服务器。因此,您需要在托管应用程序的同一台服务器或专用的 SQL 服务器中安装 SQL 服务器。然后将现有数据库附加或复制到 SQL 服务器。