.NET 2.0 und Oracle

23/01/2008 - 09:46 von Oliver Japes | Report spam
Hallo,

ich habe ein merkwürdiges Phànomen mit einer C#-Applikation. Wir haben
diese Applikation von 1.1 auf .Net 2.0 umgestellt (endlich ;-)). Das
funktioniert auch. Allerdings haben wir jetzt bei einem einzigen Kunden das
Problem, dass die Applikation sich ohne Fehlermeldung schließt.

Wir konnten das Problem auf einen einzigen Aufruf eingrenzen, und zwar ein
ExecuteScalar auf einer Oracle-Verbindung. Es gibt keine Exception, keinen
Eintrag in das Windows-Eventlog noch sonst irgendeinen Hinweis auf den
Fehler.

Die Anbindung an die Datenbank erfolgt unter Zuhilfenahme des
System.Data.OracleClient-Namespaces.

Die Datenbank ist eine Oracle 10g, der Rechner, auf dem die Applikation und
die Datenbank làuft, ein Windows Server 2003. MDAC ist nicht installiert,
wird aber nach meinen vorherigen Recherchen wohl auch nicht benötigt. Eine
.NET 1.1-Applikation, die auf dem gleichen Rechner liegt und auf die
gleiche Datenbank zugreift funktioniert ohne Probleme.

Für schnelle Hinweise, woran das Problem liegen könnte wàre ich sehr
dankbar, da der Kunde mittlerweile (verstàndlicherweise) unruhig wird.


Im Voraus vielen Dank


Oliver
 

Lesen sie die antworten

#1 Carl Schaffert
23/01/2008 - 10:44 | Warnen spam
Hallo Oliver


ich habe ein merkwürdiges Phànomen mit einer C#-Applikation. Wir haben
diese Applikation von 1.1 auf .Net 2.0 umgestellt (endlich ;-)). Das
funktioniert auch. Allerdings haben wir jetzt bei einem einzigen Kunden
das
Problem, dass die Applikation sich ohne Fehlermeldung schließt.



Die Anwendung verabschiedet sich ganz?


Wir konnten das Problem auf einen einzigen Aufruf eingrenzen, und zwar ein
ExecuteScalar auf einer Oracle-Verbindung. Es gibt keine Exception, keinen
Eintrag in das Windows-Eventlog noch sonst irgendeinen Hinweis auf den
Fehler.



Als erstes mache einen Try-Catch-Block(sofern noch nicht geschehen) um deine
ExecuteScalar Function... prüfe das Statement und den Rückgabewert (der
sieht vielleicht bei deinem Kunden völlig anders aus als bei allen
anderen)... es kann durchaus sein dass du an dieser Stelle einen System.Type
benutzt, der nicht nullable ist und ExecuteScalar liefert womöglich null
zurück... das könnte die heftige Reaktion deiner Anwendung erklàren.

Desweiteren könnte es sein, dass der Oracle-Server eine begrenzte Anzahl
offener Connections(Lizenzen) hat. Hier solltest du mal die Settings
(NLS-Parameter) anschauen.

Hast du Möglichkeiten deine Anwendung an der DB deines Kunden zu debuggen?
Wenn ja, sollte es kein Problem sein festzustellen woran es liegt. Sofern du
die Oracle-DB auf ihre Einstellungen hin geprüft hast benötigst du die
gleiche Umgebung wie sie bei deinem Kunden existiert um das zu prüfen.

Die Anbindung an die Datenbank erfolgt unter Zuhilfenahme des
System.Data.OracleClient-Namespaces.

Die Datenbank ist eine Oracle 10g, der Rechner, auf dem die Applikation
und
die Datenbank làuft, ein Windows Server 2003. MDAC ist nicht installiert,
wird aber nach meinen vorherigen Recherchen wohl auch nicht benötigt. Eine
.NET 1.1-Applikation, die auf dem gleichen Rechner liegt und auf die
gleiche Datenbank zugreift funktioniert ohne Probleme.



Das kann durchaus sein... es gibt viele Stellen an denen solche Probleme
auftauchen können...


Für schnelle Hinweise, woran das Problem liegen könnte wàre ich sehr
dankbar, da der Kunde mittlerweile (verstàndlicherweise) unruhig wird.




Klar... der wird langsam die Krise bekommen... sofern es nicht gerade die
einzige ExecuteScalar-Function in deiner Anwendung ist, liegt es eher an den
Einstellungen auf dem Server... bei anderen deiner Kunden làuft es ja.

Ansonsten musst du hier etwas mehr dazu posten... Teile des Codes, der
Connection und des SQL-Statements... Angaben zu den Protokollen die zum
Server genutzt werden etc. ansonsten wird dir hier wohl kaum jemand helfen
können.

Gruß Carl

Ähnliche fragen