2008-11-12 10 views
5

Ich bin derzeit auf einen ASP.NET-Fehler beim Versuch, auf eine ASPX-Seite durch localhost zugreifen. Dies ist der Fehler:OCIEnvCreate fehlgeschlagen Fehler - Beim Zugriff auf .aspx-Seiten

OCIEnvCreate fehlgeschlagen mit Rückkehrcode -1 aber Fehlermeldungstext war nicht verfügbar.

Beschreibung: Bei der Ausführung der aktuellen Webanforderung ist eine nicht behandelte Ausnahme aufgetreten. Bitte überprüfen Sie die Stack-Trace für weitere Informationen über den Fehler und wo es aus dem Code stammt.

Ausnahmedetails: System.Exception: OCIEnvCreate schlug mit Rückkehrcode -1 fehl, aber Fehlermeldungstext war nicht verfügbar.

Stack Trace:

[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 

Ich merke, es sagt der ich eine ungültige Verbindungszeichenfolge haben, aber ich habe es getestet und es funktioniert. Ich habe derzeit Oracle 10g Express installiert und davor hatte ich Oracle 8i Client. Es funktionierte, bevor ich 10g Express installierte.

+0

"Connection String ist ungültig"? –

Antwort

2

Ich bin auf das gleiche Problem mit Oracle 10g gestoßen, von dem, was ich gelesen habe, scheint dieser Fehler zu bedeuten, dass der .Net Oracle-Treiber den Oracle-Client nicht finden kann.

Es gibt verschiedene Vorschläge, dies zu beheben, einschließlich der Überprüfung der Umgebungsvariablen PATH und ORACLE_HOME; Erneutes Installieren des Oracle-Clients am Standardspeicherort (C: \ oracle), falls dieser noch nicht vorhanden ist. oder Oracle Oracle Data Provider für .NET (ODP.NET) anstelle des Microsoft Oracle-Treibers (System.Data.OracleClient) verwenden.

Keines der oben genannten Probleme behebt mein Problem, also wenn jemand weitere Vorschläge hat, wären sie herzlich willkommen!

+0

Das hat für mich funktioniert. Ich habe mit einer ASP.NET-App Verbindung zu einer Oracle-Datenbank mit nur Oracle InstantClient 10.2 gearbeitet. Dann habe ich Oracle 11g Express installiert, und dieser Fehler begann zu zeigen. Ich entferne einfach "C: \ oraclexe \ app \ oracle \ product \ 11.2.0 \ server \ bin ;;" von PATH env. Variable, und alles wurde wieder normal. Vielen Dank. – Fabio

2

Wir haben kürzlich auch in diesem Zusammenhang; In unserem Fall hat das Wiederherstellen der ORACLE_HOME-Umgebungsvariablen den Zweck erfüllt (eine unvollständige Installation von OMS10G, die das System in einem inkonsistenten Zustand verlassen hatte, wobei die Umgebungsvariable als null registriert wurde).

0

Ich habe dies auf einer Windows 7-Maschine erlebt. Das Hinzufügen der Umgebungsvariablen ORACLE_HOME und das Ausführen der ausführbaren Datei, die den Oracle-Client im Kompatibilitätsmodus "windows xp sp3" verwendet (Datei/Eigenschaften/Kompatibilität), behebt das Problem für mich.

0

Obwohl dieses Thema etwas uralt ist, werde ich meine fünf Cent einwerfen. Von dem, was ich über das Internet gelesen habe, kann dies sogar in einer Umgebung auftreten, die vollständig konfiguriert ist, wenn der Aufrufer (der an Windows angemeldete Benutzer) keine Berechtigungen zum Lesen/Ausführen der Oracle-Binärdateien hat.

0

Entfernen Sie einfach die System.Data.OracleClient.dll von \Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5

stellen Sie sicher, zuerst bei einem Fehler die Sicherungs nehmen

Das von mir arbeitet.

oder ersetzen System.Data.OracleClient.dll aus dem Ordner folgenden Windows\Microsoft.NET\assembly\GAC_32\System.Data.OracleClient\v4.0_4.0.0.0__b77a5c561934e089

+0

Lösung nach 2008: D – AnisNoorAli

Verwandte Themen