AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Fehler bei ADOTable.Post
Thema durchsuchen
Ansicht
Themen-Optionen

Fehler bei ADOTable.Post

Offene Frage von "arnof"
Ein Thema von Detlef · begonnen am 10. Jan 2005 · letzter Beitrag vom 7. Jun 2013
Antwort Antwort
Seite 2 von 2     12   
Peter Pawlowski

Registriert seit: 19. Sep 2012
2 Beiträge
 
Delphi XE7 Professional
 
#11

AW: Fehler bei ADOTable.Post

  Alt 7. Jun 2013, 14:30
Hallo zusammen - ich hatte ein ähnliches Problem. Bei mir funktionierte auf meinem Entwicklungsrechner alles wunderbarst. Auf unseren Terminalservern, auf denen das Programm dann eingesetzt wurde hatte ich die gleiche Fehlermeldung wie du.

Bei mir hat es geholgen die ODBC Einstelleung für die Datenbank (ODBCAD32.exe) exakt an die des Entwicklungsrechners anzupassen (also Codepage etc.)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#12

AW: Fehler bei ADOTable.Post

  Alt 7. Jun 2013, 14:36
Hallo zusammen - ich hatte ein ähnliches Problem. Bei mir funktionierte auf meinem Entwicklungsrechner alles wunderbarst. Auf unseren Terminalservern, auf denen das Programm dann eingesetzt wurde hatte ich die gleiche Fehlermeldung wie du.

Bei mir hat es geholgen die ODBC Einstelleung für die Datenbank (ODBCAD32.exe) exakt an die des Entwicklungsrechners anzupassen (also Codepage etc.)
Über ADO und ODBC auf eine Access-Datenbank zugreifen wäre wohl reichlich umständlich.
Access ist neben dem MS SQL-Server die einzige DB die man sinnvollerweise direkt mit dem vorhandenen ADO-Treiber anspricht und keinen Umweg über ODBC wählt.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
arnof

Registriert seit: 25. Apr 2013
1.254 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#13

AW: Fehler bei ADOTable.Post

  Alt 7. Jun 2013, 15:05
Hi,

ich arbeite in vielen Großprojekten mit der ADO und verschiedenen SQL-Servern. Die ADO hat so ihre Eigenheiten mit Postfehler unlustigen Löschfehlern.

Meine Lösung die bei tausenden Kunden nach Jahren des reifens problemfrei läuft ist, das ich mit eigene Komponenten gebastelt habe, die diese ganzen Eigenheiten abfangen:

z.B. gibt es die PostError, dort legt man eine Funktion hin, die das SQLStatemant manuell zusammenbastelt und dann via Command Komponente abschickt.


Dies ist aber nicht trivial und geht weit über die Möglichkeiten des Formum hinaus

Nur mal damit man den Anfang findet:


procedure TADOTable.PostError(DataSet: TDataSet; E: EDatabaseError; var Action: TDataAction);

.....

if State=dsInsert then begin
if Trim(xInsertField)<>'' then begin
c.CommandText:='INSERT INTO '+c1+XADOTable.TableName+c2+' ('+xInsertField+') VALUES ('+xInsertValue+')';

....

c.CommandText:='UPDATE '+ADOTable.TableName+' SET ....'+xUpdate+' WHERE '+ADOTable.FieldDefs[0].Name+'='+MakeSQLValue(FieldByName(XADOTable.Field Defs[0].Name));
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#14

AW: Fehler bei ADOTable.Post

  Alt 7. Jun 2013, 16:02
ich arbeite in vielen Großprojekten mit der ADO und verschiedenen SQL-Servern. Die ADO hat so ihre Eigenheiten mit Postfehler unlustigen Löschfehlern.
Kann ich nicht bestätigen. Ich vermute das du Fehler/Problem mit ADOExpress/dbGo hast.

c.CommandText:='INSERT INTO '+c1+XADOTable.TableName+c2+' ('+xInsertField+') VALUES ('+xInsertValue+')';

....

c.CommandText:='UPDATE '+ADOTable.TableName+' SET ....'+xUpdate+' WHERE '+ADOTable.FieldDefs[0].Name+'='+MakeSQLValue(FieldByName(XADOTable.Field Defs[0].Name));
Autsch. Du baust doch wohl nicht wirklich deine SQL-Statement so zusammen ohne parameter zu verwenden.
Da hattest du wohl noch kein Sicherheits-Audit in diesem Bereich?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
arnof

Registriert seit: 25. Apr 2013
1.254 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#15

AW: Fehler bei ADOTable.Post

  Alt 7. Jun 2013, 16:07
Parameter: je nach MySQL Treiber Version gehen die manchmal komplett nicht, kommt dort ständig vor nach Treiberupdates
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#16

AW: Fehler bei ADOTable.Post

  Alt 7. Jun 2013, 16:12
auch aus Erfahrung:
Prüfe mal die Daten, die Du eintragen willst. Lieblingsfehler sind falsche Datumswerte (Bereichsfehler)- hier nicht verwendet.
Mglw. noch Bereichsfehler bei Currency oder Konvertierungsprobleme Unicode..
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#17

AW: Fehler bei ADOTable.Post

  Alt 7. Jun 2013, 16:19
Parameter: je nach MySQL Treiber Version gehen die manchmal komplett nicht, kommt dort ständig vor nach Treiberupdates
Für Mysql gibts schöne Lösungen die alles in Delphi implementieren (die DevArt-Kompos sind sehr zu empfehlen).
Ein Umweg über ADO ist hier neben den Fehler der Treiber auch bezüglich der GPL-Falle problematisch.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
arnof

Registriert seit: 25. Apr 2013
1.254 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#18

AW: Fehler bei ADOTable.Post

  Alt 7. Jun 2013, 16:27
Klar gibts die meine kann aber alle Datenbank, die einen Treiber haben mit dem 100% gleichen Delphicode ..... und ich konnte damit meine über 500.000 Zeilen App die mal mit der BDE lief übernehmen ohne alles neu zu machen

Deshalb arbeite ich noch auf D5 werde aber diesen Monat mal XE2 als Produktivsystem wechsen. Für Xe3 und X4 fehlen mir noch zuviele Komponenten ....
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#19

AW: Fehler bei ADOTable.Post

  Alt 7. Jun 2013, 16:31
Klar gibts die meine kann aber alle Datenbank, die einen Treiber haben mit dem 100% gleichen Delphicode
Sicher? Wie handhabst du die unterschiede in den SQL-Dialekten? Wie schauts mit alten Oracle-Versionen aus welche noch nicht den normalen JOIN-Syntax können?

..... und ich kommte damit meine über 500.000 zeilen App die mal mit der BDE lief übernehmen ohne alles neu zu machen
Halte dagegen: 1,8 Mio. Quellcodezeilen (Mit Zusatzkomponenten), DB-Spezifischer Teil für MySQL ist ca. 2000 Zeilen, Bei Oracle ebenfalls.
Datenbanken sind bis zu 50 GB groß. Lösung über Bridge-Pattern.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
arnof

Registriert seit: 25. Apr 2013
1.254 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#20

AW: Fehler bei ADOTable.Post

  Alt 7. Jun 2013, 17:26
[QUOTE=Bernhard Geyer;1217783]
Klar gibts die meine kann Sicher? Wie handhabst du die unterschiede in den SQL-Dialekten? Wie schauts mit alten Oracle-Versionen aus welche noch nicht den normalen JOIN-Syntax können?
das macht meine Komponente, die liegt tief im System incl. Bug aus ADODB und den DB Units entfernt bzw abgefangen


..... und ich kommte damit meine über 500.000 zeilen Halte dagegen: 1,8 Mio. Quellcodezeilen (Mit Zusatzkomponenten), DB-Spezifischer Teil für MySQL ist ca. 2000 Zeilen, Bei Oracle ebenfalls.

also aller Quellcode ist aktuell bei 1.2 mil Zeilen, da sind aber auch die Komponentenquellcodes dabei.

Zitat:
Datenbanken sind bis zu 50 GB groß. Lösung über Bridge-Pattern.

in Spitzenzeiten über 120 Kaufhäuser in der Zentrale zusammengefasst
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz