Ошибка OCIEnvCreate Failed — при доступе к страницам .aspx

В настоящее время я застрял в ошибке ASP.NET при попытке доступа к странице .aspx через localhost. Это ошибка:

Ошибка OCIEnvCreate с кодом возврата -1, но текст сообщения об ошибке недоступен.

Описание: во время выполнения текущего веб-запроса возникло необработанное исключение. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.

Сведения об исключении: System.Exception: сбой OCIEnvCreate с кодом возврата -1, но текст сообщения об ошибке недоступен.

Трассировка стека:

[Exception: OCIEnvCreate failed with return code -1 but error message text was not available.]
   System.Data.OracleClient.OciHandle..ctor(OciHandle parentHandle, HTYPE handleType, MODE ocimode, HANDLEFLAG handleflags) +363
   System.Data.OracleClient.OciEnvironmentHandle..ctor(MODE environmentMode, Boolean unicode) +23
   System.Data.OracleClient.OracleInternalConnection.OpenOnLocalTransaction(String userName, String password, String serverName, Boolean integratedSecurity, Boolean unicode, Boolean omitOracleConnectionName) +122
   System.Data.OracleClient.OracleInternalConnection..ctor(OracleConnectionString connectionOptions) +135
   System.Data.OracleClient.OracleConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) +36
   System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) +28
   System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) +424
   System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) +68
   System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +519
   System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +82
   System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +104
   System.Data.OracleClient.OracleConnection.Open() +37
   Wilson.ORMapper.Internals.Connection..ctor(String connectString, CustomProvider customProvider) +287

[ORMapperException: ObjectSpace: Connection String is Invalid - OCIEnvCreate failed with return code -1 but error message text was not available.]
   Wilson.ORMapper.Internals.Connection..ctor(String connectString, CustomProvider customProvider) +357
   Wilson.ORMapper.Internals.Context.Init(XmlDocument xmlMappings, String connectString, CustomProvider customProvider, Int32 sessionMinutes, Int32 cleanupMinutes) +92
   Wilson.ORMapper.Internals.Context..ctor(Stream mappingStream, String connectString, CustomProvider customProvider, Int32 sessionMinutes, Int32 cleanupMinutes) +171
   Wilson.ORMapper.ObjectSpace..ctor(Stream mappingStream, String connectString, Provider providerType, Int32 sessionMinutes, Int32 cleanupMinutes) +66
   zedi.DataManager.GetDefaultInstance() in C:\projects\FINE Application Interface\Production\On-site Backlog\Source\Code\DataAccess\ORClasses\Data\DataManager.cs:155
   zedi.DataManager.get_ObjectSpaceGlobal() in C:\projects\FINE Application Interface\Production\On-site Backlog\Source\Code\DataAccess\ORClasses\Data\DataManager.cs:105
   zedi.DataManager.get_ObjectSpace() in C:\projects\FINE Application Interface\Production\On-site Backlog\Source\Code\DataAccess\ORClasses\Data\DataManager.cs:129
   zedi.DataObjects.CompanyBase.RetrieveQuery(ObjectQuery query) in C:\projects\FINE Application Interface\Production\On-site Backlog\Source\Code\DataAccess\ORClasses\DataObjects\Base\CompanyBase.cs:279
   zedi.DataObjects.CompanyBase.RetrieveAll(String sortClause) in C:\projects\FINE Application Interface\Production\On-site Backlog\Source\Code\DataAccess\ORClasses\DataObjects\Base\CompanyBase.cs:78
   maint_inetpub.siteTemplates.updateDeviceTemplate.Page_Load(Object sender, EventArgs e) in c:\projects\FINE Application Interface\Production\On-site Backlog\Source\Code\Websites\maint-inetpub\siteTemplates\updateDeviceTemplate.aspx.cs:47
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +15
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +33
   System.Web.UI.Control.OnLoad(EventArgs e) +99
   System.Web.UI.Control.LoadRecursive() +47
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1436

Я заметил, что он говорит, что у меня неверная строка подключения, но я проверил ее, и она работает. В настоящее время у меня установлен Oracle 10g Express, а до этого у меня был клиент Oracle 8i. Он работал до того, как я установил 10g Express.


person flowy    schedule 12.11.2008    source источник
comment
Строка подключения недействительна?   -  person Rubens Farias    schedule 06.10.2009


Ответы (5)


Я столкнулся с той же проблемой с оракулом 10g, из того, что я прочитал, эта ошибка означает, что драйвер оракула .Net не может найти клиента оракула.

Существуют различные предложения по исправлению этого, в том числе проверка переменных среды PATH и ORACLE_HOME; переустановка клиента оракула в расположение по умолчанию (C:\oracle), если его там еще нет; или используя Oracle Data Provider for .NET (ODP.NET) вместо драйвера Microsoft oracle (System.Data.OracleClient).

Однако ни одно из вышеперечисленных решений не решило мою проблему, поэтому, если у кого-то есть еще предложения, они будут приветствоваться!

person Malcolm    schedule 13.05.2009
comment
Это сработало для меня. Я работал с подключением приложения ASP.NET к базе данных Oracle, используя только мгновенный клиент Oracle 10.2. Затем я установил Oracle 11g Express, и эта ошибка начала появляться. Я просто удаляю C:\oraclex\app\oracle\product\11.2.0\server\bin;; из окружения PATH. переменная, и все снова стало нормально. Спасибо. - person Fabio; 24.02.2012

Недавно мы тоже столкнулись с этим; в нашем случае помогло восстановление переменной среды ORACLE_HOME (незавершенная установка OMS10G, которая оставила систему в несогласованном состоянии с регистрацией переменной среды как нулевой).

person Nariman    schedule 06.10.2009

Я испытал это на машине с Windows 7. Добавление переменной среды ORACLE_HOME и запуск исполняемого файла, который использует клиент oracle в режиме совместимости «windows xp sp3» (файл/свойства/совместимость), решил проблему для меня.

person Abilena    schedule 02.07.2010

Хоть этот выпуск и несколько древний, вставлю свои пять копеек. Из того, что я прочитал в Интернете, это может произойти даже в полностью настроенной среде, когда вызывающий абонент (пользователь, вошедший в Windows) не имеет разрешений на чтение/выполнение двоичных файлов Oracle.

person Sebastian Edelmeier    schedule 09.08.2011

Просто удалите System.Data.OracleClient.dll из \Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5

сначала сделайте резервную копию на случай любой другой ошибки

Это работает от меня.

Или заменить System.Data.OracleClient.dll из следующей папки Windows\Microsoft.NET\assembly\GAC_32\System.Data.OracleClient\v4.0_4.0.0.0__b77a5c561934e089

person AnisNoorAli    schedule 29.03.2016
comment
Решение после 2008 года: D - person AnisNoorAli; 29.03.2016