簡體   English   中英

企業庫問題

[英]Enterprise Library issue

我們使用Enterprise Library 6.0和以下代碼來創建數據庫實例並執行存儲過程? 任何幫助高度贊賞。 提前致謝。

 DatabaseProviderFactory factory = new DatabaseProviderFactory();
             Database  db = factory.CreateDefault();

 DbCommand dbCommand = db.GetStoredProcCommand("ProcedureName");

                OracleParameter outval = new OracleParameter("Test", OracleDbType.RefCursor);
                outval.Direction = ParameterDirection.Output;
                dbCommand.Parameters.Add(outval);

                using (IDataReader reader = db.ExecuteReader(dbCommand))
                {
                    while (reader.Read())
                    {

                    }
                }

<add name="providerConnString" connectionString="Data Source=ABCD;Password=testuser;User ID=testpwd" providerName="Oracle.DataAccess.Client" />

我們間歇性地收到以下異常。 當我們在空閑時間之后嘗試訪問應用程序時會發生這種情況。 連接池如何在企業庫中發生?如果應用程序長時間處於空閑狀態,它將如何工作? 什么是默認的最小池大小和默認的最大池大小?

調用的目標拋出了異常。 System.Reflection.TargetInvocationException:調用目標拋出了異常。 ---> System.TypeInitializationException:'Oracle.DataAccess.Client.OracleClientFactory'的類型初始值設定項引發了異常。 ---> System.TypeInitializationException:'Oracle.DataAccess.Client.CThreadPool'的類型初始值設定項引發了異常。 ---> System.Runtime.InteropServices.COMException:檢索具有CLSID {CB2F6723-AB3A-11D2-9C40-00C04FA30A3E}的組件的COM類工廠因以下錯誤而失敗:800703fa對已注冊的注冊表項執行了非法操作標記為刪除。 (來自HRESULT的異常:0x800703FA)。 在Oracle.DataAccess.Client.CThreadPool..cctor()---內部異常堆棧跟蹤結束---在Oracle.DataAccess.Client.OracleInit.Initialize()---內部異常堆棧跟蹤結束--- - - 內部異常堆棧跟蹤的結束---在System.Reflection的System.Reflection.RtFieldInfo.UnsafeGetValue(Object obj)處的System.RuntimeFieldHandle.GetValue(RtFieldInfo字段,Object實例,RuntimeType fieldType,RuntimeType declaringType,Boolean&domainInitialized)處。位於Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSyntheticConfigSettings.GetDefaultMapping的System.Data.Common.DbProviderFactories.GetFactory(DataRow providerRow)的System.Reflection.RtFieldInfo.GetValue(Object obj)中的RtFieldInfo.InternalGetValue(Object obj,StackCrawlMark和stackMark) (字符串dbProviderName)Microsoft.Practices上的Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSyntheticConfigSettings.GetDatabaseData(ConnectionStringSettings connectionString,DatabaseSettings databaseSettings) System.Collections.Concurrent.ConcurrentDictionary上的Microsoft.Practices.EnterpriseLibrary.Data.DatabaseProviderFactory.DatabaseConfigurationBuilder.b__2(String n)中的2.GetOrAdd(TKey key, Func (String name) 2.GetOrAdd(TKey key, Func 2 valueFactory) )在Microsoft.Practices.EnterpriseLibrary.Data.DatabaseProviderFactory.DatabaseConfigurationBuilder.CreateDefault()

我在IIS中遇到了App pool身份用戶的問題。 我刪除了身份用戶並放置了默認身份用戶。 然后恢復為我的自定義用戶身份。 這解決了我的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM