尝试发布 Web 应用程序时应用程序中的服务器错误。无效的对象名称“dbo.Employees”

Posted

技术标签:

【中文标题】尝试发布 Web 应用程序时应用程序中的服务器错误。无效的对象名称“dbo.Employees”【英文标题】:Server Error in Application when trying to publish web app. Invalid object name 'dbo.Employees' 【发布时间】:2019-01-28 14:03:47 【问题描述】:

我正在尝试使用 Azure 的数据库发布我的 Web 应用程序,但我遇到了这个错误:

Invalid object name 'dbo.Employee'.
Description: An unhandled exception occurred during the execution of the 
current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.Data.SqlClient.SqlException: Invalid object name 
'dbo.Employee'.

Source Error: 

An unhandled exception was generated during the execution of the current web 
request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

这是我的连接字符串:

<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-HolidayTracker-20190122013056.mdf;Initial Catalog=aspnet-HolidayTracker-20190122013056;Integrated Security=True" providerName="System.Data.SqlClient" />
<add name="LotusWorksEntities" connectionString="metadata=res://*/Models.HolidayTrackerModel.csdl|res://*/Models.HolidayTrackerModel.ssdl|res://*/Models.HolidayTrackerModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=DESKTOP-LAKNQGQ\CONORSQL;initial catalog=LotusWorks;user id=sa;password="mypassword";MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

我不确定我在发布时是否正确使用了这些,因为这是我的第一个网络应用程序。它确实已发布,但每当我使用使用数据库的页面时,我都会收到错误消息。

【问题讨论】:

你使用什么数据库? Azure SQL 还是本地 SQL? 我正在使用本地 SQL 【参考方案1】:

异常详细信息:System.Data.SqlClient.SqlException:对象名称无效 'dbo.Employee'。

此错误表示 EF 使用了一个名为 dbo.Employee 的对象(很可能是一个表),该对象在数据库中不存在。

检查您的数据库并验证该表是否存在,或者您应该使用不同的表名。

另外,根据你的描述,你提供的连接字符串都是本地Sql数据库。由于要发布到 azure 并查看使用数据库的页面,因此需要使用 Azure Sql 数据库提供数据。这是tutorial,您可以参考。

设置 Azure sql 数据库后,选择 Use this connection string at runtime(update destination web.config) 选项,这样会使用 azure sql db 连接字符串。

【讨论】:

是的,它存在。我首先使用数据库来创建 Web 应用程序。我认为它可能指向错误的数据库!我在发布窗口框中使用了 azure 连接字符串。 还没有!如果我使用本地 SQL 数据库?如何将它们与 Azure 连接?顺便说一句,使用 vs2013 使用本地数据库连接azure?这是不可能的。 我是否必须自己更改连接字符串?默认连接字符串适用于 azure,它只是另一个给我带来麻烦的字符串 正如我之前提供的article,你在settings中配置数据库。

以上是关于尝试发布 Web 应用程序时应用程序中的服务器错误。无效的对象名称“dbo.Employees”的主要内容,如果未能解决你的问题,请参考以下文章

尝试将 WCF 应用程序上传到服务器时出错

如何修复 Java Web 应用程序中 JSP 重定向中的 HTTPS-HTTP 混合内容错误

如何将用户凭据传递给 Web 服务?

xamarin 表单中的 Web API 请求错误

尝试运行项目模型服务器进程时发生以下错误(1.0.0-rc4-004771)

SDK 升级后 Flutter Web 中的图标错误