asp.net在调试模式下工作正常,并在发布到iis 7时出现oracle错误

时间:2011-09-20 11:21:30

标签: asp.net oracle iis-7 ado.net

我有一个连接到oracle数据库的asp.net 3.5网站。当我在visual studio 2008中工作并测试网站以获取繁重的资源消耗页面时,它可以正常工作。但是当我将此站点发布到IIS 7(在Windows Server 2008或Windows 7上)时,它会导致oracle侦听器崩溃。关于可能导致这个问题的任何想法都受到欢迎。

  

ErrorMessage:ORA-12516:TNS:侦听器找不到可用的处理程序   与匹配协议。堆栈

     

StackTrace:at   System.Data.OracleClient.OracleException.Check(OciErrorHandle   errorHandle,Int32 rc)at   System.Data.OracleClient.OracleInternalConnection.OpenOnLocalTransaction(字符串   userName,String password,String serverName,Boolean   integratedSecurity,Boolean unicode,Boolean omitOracleConnectionName)   在   System.Data.OracleClient.OracleInternalConnection..ctor(OracleConnectionString   connectionOptions)   System.Data.OracleClient.OracleConnectionFactory.CreateConnection(DbConnectionOptions   options,Object poolGroupProviderInfo,DbConnectionPool池,   DbConnection owningObject)at   System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(的DbConnection   owningConnection,DbConnectionPoolGroup poolGroup)at   System.Data.ProviderBase.DbConnectionFactory.GetConnection(的DbConnection   拥有连接)   System.Data.ProviderBase.DbConnectionClosed.OpenConnection(的DbConnection   outerConnection,DbConnectionFactory connectionFactory)at   System.Data.OracleClient.OracleConnection.Open()at   DMS.Data.Database.DatabaseConnection.getCommand(String sqlString,   E:\ DMS中的Boolean isTransaction)   WORK \ CRM9 \ db \ DatabaseConnection.cs:第561行   DMS.Data.Database.DatabaseConnection.CreateDatasetWithoutTransaction(字符串   在E:\ DMS WORK \ CRM9 \ db \ DatabaseConnection.cs中的sqlString):第878行   DMS.CRM.Today.FillRep()在e:\ DMS WORK \ CRM9 \ DMSCRM \ today.aspx.cs:line   160在DMS.CRM.Today.Page_Load(Object sender,EventArgs e)在e:\ DMS中   WORK \ CRM9 \ DMSCRM \ today.aspx.cs:第65行   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp,Object   o,对象t,EventArgs e)at   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender,   EventArgs e)在System.Web.UI.Control.OnLoad(EventArgs e)at   System.Web.UI.Control.LoadRecursive()at   System.Web.UI.Page.ProcessRequestMain(布尔   includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint)

1 个答案:

答案 0 :(得分:0)

这是32位还是64位的窗口?如果是64位,则需要安装oracle 64位驱动程序和32位驱动程序。或者仅将您的应用程序版本更改为x86。