| |
Anzeigen |
|
|
Social Bookmark Script |
|
|
|
 |
VDF 15.1 - Webapp "verliert" records |
Raphael
Jungspund

Dabei seit: 23.09.2007
Beiträge: 17
Einsatzart von VDF: gewerblich Anwenderstatus: Programmierer Herkunft: CH Betriebssystem: Windows XP/2003/2008/7
 |
|
| VDF 15.1 - Webapp "verliert" records |
 |
Wir haben unser WebApp von 11.1 auf 12.0 und nun auf 15.1 aktualisiert.
Wir haben allerdings ein kleines Problem. Scheinbar verlieren wir ab und zu Records.
Wir benutzen embedded Datenbanken, welche lokal auf dem Server liegen. Wir speichern einen neuen Record und wenn wir lange genug warten, wird er auch wirklich gespeichert. Wenn wir nicht warten, sondern den DBExplorer öffnen und den Record bearbeiten wollen, friert der DBExplorer ein. Genau das gleiche passiert mit unserem Wartungsprogramm (welches alte Records entfernt, Benachrichtigungen erstellt, etc).
Es scheint als ob die Daten nicht direkt gespeichert werden, sondern in irgend einem Buffer oder so zwischengelagert werden.
Jedenfalls verlieren wir ab und zu Records, und bekommen den Fehler nicht weg.
Das Problem scheint nur bei einer Datenbank aufzutreten.
Wir haben bereits versucht die Datenbanken zu Reindexieren, mit dem Repair-Wizard zu reparieren, usw.
Ausserdem haben wir sämtliche externe Com-Componenten deaktiviert, etc. Wir verwenden lediglich die DDOs zum speichern. Ab und zu arbeiten wir ohne DDO, jedoch nur für Lesezugriffe.
Ist so etwas schon bei jemandem passiert?
Gruss Raphael
__________________ Mein Blog: eSheep
Hauptprojekt: TransXpro - Übersetzungen
|
|
01.02.2010 16:32 |
|
|
Raphael
Jungspund

Dabei seit: 23.09.2007
Beiträge: 17
Einsatzart von VDF: gewerblich Anwenderstatus: Programmierer Herkunft: CH Betriebssystem: Windows XP/2003/2008/7
Themenstarter
 |
|
Ok..... das ganze scheint sich geklärt zu haben. So wie es aussieht haben wir die "begin_transaction"/"end_transaction"-Stelle die für das Speichern des Datensatzes verantworlich wäre mit einem Procedure_return verlassen ohne die transaction abzubrechen oder abzuschliessen...
Der Compiler merkt dies nicht... und in der Runtime ... ähm naja ... bleibt die Transaktion halt offen ;-) Und wenn der Webapp (wieo auch immer) beendet wird, etc "verschwinden" die Records.
Spannenderweise sind die Records aber im DBExplorer sichtbar, ebenfalls für andere Application im selben Workspace...
Ich gehe mal davon aus, dass die anderen Programme dann darauf warten, dass die Transaction abgeschlossen wird...
__________________ Mein Blog: eSheep
Hauptprojekt: TransXpro - Übersetzungen
|
|
01.02.2010 22:07 |
|
|
Matthias
Super Moderator
   
Dabei seit: 09.07.2007
Beiträge: 233
Einsatzart von VDF: gewerblich Anwenderstatus: VDF-Entwickler Herkunft: Niedernhausen Betriebssystem: XP, Vista, Win7, 2008 Ser
 |
|
Danke für den Bericht. Das wird sicher die Ursache gewesen sein. Immer dann, wenn eine DF Applikation steht, hat es meist mit einer fehlerhaften Verwendung von Alias-Dateien zu tun, oder aber wie hier mit einer Transaktion, die natürlich in DataFlex ein Lock auslöst.
Begin/End_Transaction arbeiten aber nur vollständig auf den Tabellen, für die ein Transaction Processing eingestellt werdne kann. Das betrifft dann insbesondere SQL-Daten.
Matthias
|
|
02.02.2010 09:43 |
|
|
Raphael
Jungspund

Dabei seit: 23.09.2007
Beiträge: 17
Einsatzart von VDF: gewerblich Anwenderstatus: Programmierer Herkunft: CH Betriebssystem: Windows XP/2003/2008/7
Themenstarter
 |
|
Ich hätte noch ein Feature-Request (aber Dennis Piccioni welcher meine Anfrage bearbeitet hat, versteht nicht was ich will):
Könnte man den Database Explorer so programmieren, dass er im Falle eines solchen Bugs die Transaktion anderer Programme abbrechen kann?
Es ist ein bisschen mühsam wenn der Database Explorer crashed/freezed, weil ein Programm nicht korrekt programmiert ist. Und eben genau das passiert, weil der DatabaseExplorer, wie jedes andere Programm, warten muss, bis die Datenbank, bzw. der Record wieder unlocked ist.
Allerdings ist das Ganze nicht so wichtig, da solche Sachen nur beim Debggen/Testen passieren.
__________________ Mein Blog: eSheep
Hauptprojekt: TransXpro - Übersetzungen
|
|
04.02.2010 12:30 |
|
|
Matthias
Super Moderator
   
Dabei seit: 09.07.2007
Beiträge: 233
Einsatzart von VDF: gewerblich Anwenderstatus: VDF-Entwickler Herkunft: Niedernhausen Betriebssystem: XP, Vista, Win7, 2008 Ser
 |
|
Ich glaube nicht, dass sich so etwas relalisieren lässt, da es ja zumindest ein anderer Prozess wenn nicht sogar eine andere Arbeitsstation ist.
Übrigens, das kann an prima am kommenden Dienstag (9.2.2010) in Friedrichsdorf beim Support-Workshop diskutieren. Da kommt Vincent Oorsprong, der den dbExplorer programmiert hat.
PS: Wenn Dennis Piccioni das in Englisch nicht so richtig versteht, kann man es als private Mail durchaus auch in Deutsch versuchen. Er ist in Koblenz geboren und spricht perfekt deutsch.
Matthias
|
|
05.02.2010 14:23 |
|
|
|
|
|
 |
|