OCIEnvCreate Failed Error - При доступе к страницам .aspx - PullRequest
5 голосов
/ 13 ноября 2008

В настоящее время я застрял на ошибке 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.

Ответы [ 5 ]

2 голосов
/ 06 октября 2009

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

2 голосов
/ 13 мая 2009

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

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

Ничто из перечисленного не устранило мою проблему, поэтому, если у кого-то есть какие-либо дополнительные предложения, они будут очень рады!

0 голосов
/ 29 марта 2016

Просто удалите 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

0 голосов
/ 09 августа 2011

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

0 голосов
/ 02 июля 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...