Einzelnen Beitrag anzeigen

Barthiboy

Registriert seit: 4. Nov 2011
36 Beiträge
 
#15

AW: TSQLDataSet, TSQLConnection Multithread Exception

  Alt 5. Dez 2015, 16:58
Hallo
danke für die vielen Antworten.
@p80286
also die zwei Codeschnipsel stellen die Datenbankzugriffe da, die in der Anwendung gemacht werden.

Programmübersicht:
Also in Einem Thread wird eine TCPIP Kommunikation aufgebaut. Hier werden Daten abgeholt und dann mittels SQLStatements
in die Datenbank geschrieben.

Im VCL-Thread wird in der Datenbank nachgeschaut (select count...) wie viele Datensätze denn schon eingetragen wurden und dies wird dann visualisiert.

In dem TCPIP Thread passiert eigentlich nicht recht viel mehr. Hier wir weiter oben lediglich Kommunikationsgeschichten abgearbeitet. Daher dann die Frage Datacount > 0 und dann gehts los mit Datenbank eintragen.
Die Eigenschaften des Threads wie z.B.: DataNotinDB oder weitere sind mittels CriticalSections geschützt und haben ihre Get und Set Methoden mit denen darauf zugegriffen wird

Ich habe selbstverständlich schon mit F7/F8 versucht zu debuggen. Allerdings lässt sich der Fehler nicht genau lokalisieren.
Also ich arbiete mit XE5 Enterprise und witzigerweise schmiert der Debugger auch ab wenn diese $C000005 Exception auftritt.
Ich kann am Montag gerne einen Auszug davon einstellen.


Zitat:
Im Eingangspost heißt es ja u. a.
Zitat:
... in einem Thread Daten via TCPIP von einem Server gelesen werden und in eine MSSQL Datenbank eingegraten werden...
Wie dies konkret funktioniert, ist aus dem zur Verfügung gestellten Quelltext aber leider nicht zu entnehmen.
Ja stimmt. Werde ich natürlich nachschicken.
Aber vorab schon mal so viel.
In der Funktion ProduktAuswerten wird das gemacht.
Hier werden die SQLStatments generiert und abgesetzt.

Jetzt noch eine ganz grundsätzliche Frage.
Es ist rein theoretisch schon möglich von zwei Threads aus auf die selbe Datenbank zuzugreifen?
Da hier ja der fehler in der dbxmss.dll auftritt.

Vielen Dank
einen schönen Abend
  Mit Zitat antworten Zitat