Invalid object name 'UserInfo'

使用ADO.NET或者其他的ORM框架的时候,抛出这个异常,可能是连接的数据库不对。也许程序要连的数据库是Database1,而你的配置文件或者连接字符串是拷贝过来的,修改的时候疏忽了没有改完全,就会出现这个异常。

异常具体信息

 NHibernate.Exceptions.GenericADOException : could not execute query
[ select userinfo0_.id as id0_, userinfo0_.name  as name2_0_, userinfo0_.description  as descript3_0_, userinfo0_.state  as state4_0_ from UserInfo userinfo0_ where userinfo0_.name ='testname' ]
[SQL: select userinfo0_.id as id0_, userinfo0_.name  as name2_0_, userinfo0_.description  as descript3_0_, userinfo0_.state  as state4_0_ from UserInfo userinfo0_ where userinfo0_.name ='testname']
  ----> System.Data.SqlClient.SqlException : Invalid object name 'UserInfo'.
	at NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters)
	at NHibernate.Loader.Loader.ListIgnoreQueryCache(ISessionImplementor session, QueryParameters queryParameters)
	at NHibernate.Loader.Loader.List(ISessionImplementor session, QueryParameters queryParameters, ISet`1 querySpaces, IType[] resultTypes)
	at NHibernate.Hql.Ast.ANTLR.Loader.QueryLoader.List(ISessionImplementor session, QueryParameters queryParameters)
	at NHibernate.Hql.Ast.ANTLR.QueryTranslatorImpl.List(ISessionImplementor session, QueryParameters queryParameters)
	at NHibernate.Engine.Query.HQLQueryPlan.PerformList(QueryParameters queryParameters, ISessionImplementor session, IList results)
	at NHibernate.Impl.SessionImpl.List(String query, QueryParameters queryParameters, IList results)
	at NHibernate.Impl.SessionImpl.List[T](String query, QueryParameters parameters)
	at NHibernate.Impl.QueryImpl.List[T]()
	UserInfoDAL.cs(21,0): at NHibernateWCF.DAL.UserInfoDAL.ExistUserInfo(String name)
	UserInfoDALTest.cs(18,0): at NHibernateWCF.Test.UserInfoDALTest.ExistUserInfoTest()
	--SqlException
	at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
	at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
	at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()
	at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
	at System.Data.SqlClient.SqlDataReader.ConsumeMetaData()
	at System.Data.SqlClient.SqlDataReader.get_MetaData()
	at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
	at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
	at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
	at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
	at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
	at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
	at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader()
这是NHibernate情况下,当连接数据库不一致的时候出现的堆栈信息。使用ADO.NET或者其他框架可能会由细节上的不同,但总体上应该都是这一类的异常。 解决办法就是修改连接字符串,把配置中连接的数据库改成正确的数据库,使执行sql语句的时候能找到相应的表。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值