Sto diventando protocollo Violazione e OALL8 è un inconsistenti eccezioni statali tentativo di eseguire query SELECT, ma solo su alcuni dei miei tavoli. Per prima cosa ho notato questo in un'applicazione di test che ho scritto che ha fatto un SELECT * FROM SOMETABLE
. Avrebbe superato diverse centinaia di record e poi mi avrebbe bloccato. Ho provato a eseguire la stessa query in Oracle 'SQLDeveloper e avrei ottenuto l'eccezione Violazione protocollo su alcune tabelle. Alla fine arriva a un punto in cui indica "OALL8 è in uno stato inconsistente" per qualsiasi query.Oracle SqlError: Protocollo Violazione/OALL8 è in uno stato incoerente
Qualcuno sa perché questo sta accadendo e come risolvere il problema? Dov'è il mio stato incoerente? Oracle sqldeveloper è il suo proprio client standalone, o lo fa affidamento su ODAC o Instant Client (si fa riferimento nel PATH ENVI var) di essere presente?
L'unica cosa che ha cambiato di recente è stato che ho installato ODAC modo che io possa utilizzare odp.net per sostituire System.Data.OracleClient in .NET. IT era ODAC 11.2.0.3.0 con Oracle Developer Tools per Visual Studio, 32 bit. Da allora ho aggiornato la variabile PATH environmetn in modo che punti al mio client istantaneo autonomo.
Immediata cliente - 11.2.0.2.0, in esecuzione su Win XP SP3 a 32 bit di Oracle DB:
Oracle Database 11g Express Edition uscita 11.2.0.2.0 - Produzione, esecuzione su Windows Server 2003, x64
- ODAC: 11.2.0.3.0
sqldeveloper è stato installato prima ho installato ODAC, ma in qualche modo sqldeveloper sembra andare attraverso ODAC come client, nonostante ODAC non essere riferimento nella Variabile d'ambiente PATH.
Aggiornamento: Quando ho installato inizialmente ODAC, tutte le mie domande funzionato normalmente. Poi hanno smesso di funzionare dopo un giorno e non so spiegare perché. Ho tentato di disinstallare ODAC, che non è riuscito durante la ricerca di una DLL da eliminare. Quindi ho cancellato manualmente il mio ORACLE_HOME e reinstallato ODAC, e per ora funziona bene. Non capisco perché questo è il caso.