实体框架5 IBM DB2 EntityException ConnectionString上的基础提供程序失败

时间:2013-04-10 04:07:04

标签: entity-framework frameworks db2 entity

我正在使用 Visual Studio 2012 来构建Web应用程序。该应用程序使用webforms, Entity Framework 5和IBM DB2数据库服务器。我在开发计算机和Web服务器上都安装了最新的IBM Drivers v10.1.2。 Web服务器正在运行 Windows Server 2008 R2 Standard x64bit操作系统

问题我正在我的本地计算机上运行Visual Studio的 IIS Express 下的应用程序正常工作,但是当我部署应用程序Web服务器时,我遇到了EF和DB2驱动程序的问题。这是错误和堆栈跟踪。做错了什么?!

Server Error in '/' Application.
--------------------------------------------------------------------------------


 ERROR [] [IBM][CLI Driver] SQL0000W  Statement processing was successful. 
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: IBM.Data.DB2.DB2Exception: ERROR [] [IBM][CLI Driver] SQL0000W  Statement processing was successful.

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.


Stack Trace: 





[DB2Exception (0x80004005): ERROR [] [IBM][CLI Driver] SQL0000W  Statement processing was successful.]
   IBM.Data.DB2.ConnSettingsFromXmlConfig.ProcessFromXmlConfig(DB2Connection connection, String dbname, String host, String port, String tmpClientEncAlg, String tmpAuthentication, String prevdb, String prevdb_ori, DB2ConnSettings& sSettings, DB2ConnSettingsInternal& sSettingsInternal, StringBuilder& modifiedValue) +21370
   IBM.Data.DB2.DB2ConnPool.ReplaceConnectionStringParms(DB2Connection connection, String szValue, DB2ConnSettings& pSettings, DB2ConnSettingsInternal& pSettingsInternal, Boolean bAttach, Boolean pushDownStrAppended) +19113
   IBM.Data.DB2.DB2Connection.set_ConnectionString(String value) +187
   System.Data.EntityClient.EntityConnection.ChangeConnectionString(String newConnectionString) +325

[EntityException: The underlying provider failed on ConnectionString.]
   System.Data.EntityClient.EntityConnection.ChangeConnectionString(String newConnectionString) +391
   System.Data.EntityClient.EntityConnection..ctor(String connectionString) +43
   System.Data.Entity.Internal.LazyInternalConnection.InitializeFromConnectionStringSetting(ConnectionStringSettings appConfigConnection) +78
   System.Data.Entity.Internal.LazyInternalConnection.TryInitializeFromAppConfig(String name, AppConfig config) +32
   System.Data.Entity.Internal.LazyInternalConnection.Initialize() +127
   System.Data.Entity.Internal.LazyInternalConnection.CreateObjectContextFromConnectionModel() +13
   System.Data.Entity.Internal.LazyInternalContext.InitializeContext() +281
   System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType) +18
   System.Data.Entity.Internal.Linq.InternalSet`1.Initialize() +52
   System.Data.Entity.Internal.Linq.InternalSet`1.get_InternalContext() +15
   System.Data.Entity.Infrastructure.DbQuery`1.System.Linq.IQueryable.get_Provider() +37
   System.Linq.Queryable.Where(IQueryable`1 source, Expression`1 predicate) +63

.... 

1 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,将应用池更改为网络服务就可以了。