asp.net 在调试模式下工作正常,但在发布到 iis 7 时出现 oracle 错误
我有一个连接到oracle数据库的asp.net 3.5网站。当我在 Visual Studio 2008 中工作并测试网站的资源消耗大的页面时,它工作正常。但是当我将此站点发布到 IIS 7(在 Windows Server 2008 或 Windows 7 上)时,它会导致 Oracle 侦听器崩溃。欢迎任何可能导致此问题的想法。
ErrorMessage: ORA-12516: TNS:listener 找不到可用的处理程序 具有匹配的协议。堆栈
堆栈跟踪:位于 System.Data.OracleClient.OracleException.Check(OciErrorHandle 错误句柄,Int32 rc) at System.Data.OracleClient.OracleInternalConnection.OpenOnLocalTransaction(字符串 用户名、字符串密码、字符串服务器名称、布尔值 IntegratedSecurity、布尔 unicode、布尔 omitOracleConnectionName) 在 System.Data.OracleClient.OracleInternalConnection..ctor(OracleConnectionString 连接选项)位于 System.Data.OracleClient.OracleConnectionFactory.CreateConnection(DbConnectionOptions 选项、对象 poolGroupProviderInfo、DbConnectionPool 池、 DbConnection 拥有对象)位于 System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection、DbConnectionPoolGroup poolGroup) at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection 拥有连接)位于 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection 外部连接、DbConnectionFactory 连接工厂)位于 System.Data.OracleClient.OracleConnection.Open() 位于 DMS.Data.Database.DatabaseConnection.getCommand(String sqlString, E:\DMS 中的布尔 isTransaction) WORK\CRM9\db\DatabaseConnection.cs:第 561 行 DMS.Data.Database.DatabaseConnection.CreateDatasetWithoutTransaction(字符串 sqlString) 在 E:\DMS WORK\CRM9\db\DatabaseConnection.cs:第 878 行 e:\DMS WORK\CRM9\DMSCRM\today.aspx.cs:line 中的 DMS.CRM.Today.FillRep() 160 位于 e:\DMS 中的 DMS.CRM.Today.Page_Load(对象发送者,EventArgs e) WORK\CRM9\DMSCRM\today.aspx.cs:第 65 行位于 System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp,对象 o、对象 t、EventArgs e) at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(对象发送者, EventArgs e) 在 System.Web.UI.Control.OnLoad(EventArgs e) 在 System.Web.UI.Control.LoadRecursive() 位于 System.Web.UI.Page.ProcessRequestMain(布尔值 includeStagesBeforeAsyncPoint、布尔值 includeStagesAfterAsyncPoint)
I have an asp.net 3.5 website that connects to oracle database. when I work inside visual studio 2008 and test website for a heavy resource consuming page it works fine. but when I publish this site to IIS 7 (on windows server 2008, or windows 7) it causes oracle listener to fall down. any ideas on what might cause this problem is welcomed.
ErrorMessage: ORA-12516: TNS:listener could not find available handler
with matching protocol. StackStackTrace: at
System.Data.OracleClient.OracleException.Check(OciErrorHandle
errorHandle, Int32 rc) at
System.Data.OracleClient.OracleInternalConnection.OpenOnLocalTransaction(String
userName, String password, String serverName, Boolean
integratedSecurity, Boolean unicode, Boolean omitOracleConnectionName)
at
System.Data.OracleClient.OracleInternalConnection..ctor(OracleConnectionString
connectionOptions) at
System.Data.OracleClient.OracleConnectionFactory.CreateConnection(DbConnectionOptions
options, Object poolGroupProviderInfo, DbConnectionPool pool,
DbConnection owningObject) at
System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection
owningConnection, DbConnectionPoolGroup poolGroup) at
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection
owningConnection) at
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection
outerConnection, DbConnectionFactory connectionFactory) at
System.Data.OracleClient.OracleConnection.Open() at
DMS.Data.Database.DatabaseConnection.getCommand(String sqlString,
Boolean isTransaction) in E:\DMS
WORK\CRM9\db\DatabaseConnection.cs:line 561 at
DMS.Data.Database.DatabaseConnection.CreateDatasetWithoutTransaction(String
sqlString) in E:\DMS WORK\CRM9\db\DatabaseConnection.cs:line 878 at
DMS.CRM.Today.FillRep() in e:\DMS WORK\CRM9\DMSCRM\today.aspx.cs:line
160 at DMS.CRM.Today.Page_Load(Object sender, EventArgs e) in e:\DMS
WORK\CRM9\DMSCRM\today.aspx.cs:line 65 at
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object
o, Object t, EventArgs e) at
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender,
EventArgs e) at System.Web.UI.Control.OnLoad(EventArgs e) at
System.Web.UI.Control.LoadRecursive() at
System.Web.UI.Page.ProcessRequestMain(Boolean
includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这是 32 位还是 64 位 Windows?如果是 64 位,则需要安装 oracle 64 位驱动程序以及 32 位驱动程序。或者将您的应用程序版本更改为仅 x86。
Is this 32-bit or 64-bit windows? If it is 64-bit then you need to install oracle 64-bit drivers along with the 32-bit drivers. or change your application build to x86 only.