【问题标题】:SqlException (0x80131904): Invalid object name 'PlanningRow'SqlException (0x80131904):无效的对象名称“PlanningRow”
【发布时间】:2013-08-14 13:20:04
【问题描述】:

我有一个使用 nHibernate 和 SQL Server 标准版的 asp.NET MVC 3 应用程序。生产环境运行良好,并且是由其他人开发的。

我正在尝试在本地 PC 上设置测试环境,并将备份从实时数据库恢复到本地 SQL Express。更改了连接字符串,并让 sessionfactory 运行。 (我还在学习 asp.NET MVC 的不同方面,所以我不完全确信我已经检查了所有需要检查的内容)。

不幸的是,现在加载 index.cshtml 时,它会失败并出现上述错误(SqlException (0x80131904): Invalid object name 'PlanningRow')。失败就行了:

planningRows = Planner.GetCurrentSession().QueryOver<PlanningRow>().List();

我在 StackOverflow 和其他地方看到过类似的问题,我知道错误意味着它找不到表,但 Db 和表在我本地的 SQL Express 上。但是很可能数据库或表不在正确的架构中,或者架构不存在。不幸的是,我不知道这实际上意味着什么,更不用说如何修复它了,我也找不到关于如何做到这一点的提示。

(f.i. SqlException (0x80131904): Invalid object name 'dbo.Categories' 提供了一些有趣的选项——尤其是选项 2——但没有办法检查或解决这个问题)。

谁能指出我正确的方向?

【问题讨论】:

  • 会不会是错字??您的注释表明错误引用“PlanningRow”,但是代码 sn-p 使用“PlanningRows”
  • 不错 :-) 但不,这是帖子中的错字:我更改了实际名称,因为它不是我自己的代码/网站...
  • 看到了,并没有帮助我理解如何检查我的表是否在错误的架构中或如何更改它

标签: asp.net sql sql-server nhibernate sql-server-express


【解决方案1】:
  • 仔细检查连接字符串指向正确的数据库
  • 在调试模式下使用“NHibernate.Sql”启用 SQL 日志记录
  • 检查 PlanningRow 映射中的映射架构和 hibernate.cfg 文件或配置代码中的默认架构

【讨论】:

  • 找到了一个大学生的答案,但你的答案是正确的:如果我在映射 XML 中添加了架构,它就可以工作(我不知道如何或为什么这样做,但一个大学生帮我解决了)。还是很奇怪,因为 live 环境不需要这个指令:-/ 无论如何,它起作用了,我可以继续调试。
  • 我创建了一个新数据库,但在错误的数据库中创建了我的表..!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-14
  • 2021-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多