【问题标题】:Deploy user information database部署用户信息数据库
【发布时间】:2014-12-15 13:25:33
【问题描述】:

我创建了一个带有内置个人用户身份验证的简单 ASP.NET MVC 应用程序。
当我开始本地调试(使用 VS2013 和 iisExpress)时,我可以完美地注册和登录新用户。

然后我使用 VS Publish 选项将项目部署到 Somee.com 免费托管并手动部署 App_Data 文件夹。 在这里我可以看到页面和 webAPI 操作,但我不能再注册或登录用户了,我得到了错误:

[Win32Exception (0x80004005): 系统找不到指定的文件]

[SqlException (0x80131904):在建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供者:SQL 网络接口,错误:52 - 无法找到本地数据库运行时安装。验证 SQL Server Express 已正确安装并且本地数据库运行时功能已启用。)]

System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) +414
......
......

我认为这是因为它找不到包含用户数据的 .mdf 或 iis 无法读取它,但是我该如何解决这个问题?
我是否必须在 SqlServer DB 上设置用户表而不是使用本地 mdf?

贴出我的代码是没有用的,因为我没有更改任何 Visual Studio 模板的内容。
谢谢!

【问题讨论】:

  • Somee 给你一个免费的 sql 数据库和免费包。您可以使用它来创建您的身份验证表。
  • 好的,我已经在为几个表使用 somee free db,我将向它们添加用户表!

标签: c# asp.net-mvc web-deployment asp.net-authentication


【解决方案1】:

该模板使用 SQL Server 的 Local DB 功能,这需要在机器上安装 SQL Server(使用 VS 您会自动在开发机器上安装 SQL Server Express)。

在我看来,您应该设置一个 SQL Server(Express 目前应该这样做)并更改 web.config 中的连接字符串以指向新的 SQL Server(或者在部署时保持原样)数据库到与网站相同的机器上)。

如果您使用 VS 的 发布 功能,您应该在查看配置时在向导中得到提示,如果数据库位于远程计算机上,则 Local DB 将无法工作。

【讨论】:

    【解决方案2】:

    “数据源=....;初始目录=....;集成安全=...”

    用数据库提供的字符串更改它。应该是这样的;

    "工作站id=.....;数据包大小=....;用户id=....;pwd=....;数据 源=....;持久安全信息=False;初始目录=....." 此外,如果这是第一次这样做,您可能会遇到很多无法在互联网上轻松找到的错误

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-10
      • 2018-12-22
      • 2020-06-19
      • 1970-01-01
      • 1970-01-01
      • 2012-04-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多