Verwendung von ADO mit alten Datenbanken: Unterschied zwischen den Versionen

Aus GEVITAS
Wechseln zu: Navigation, Suche
K
Zeile 22: Zeile 22:
  
 
Die BDE entfernte die Leertasten ab Ende automatisch, ADO tut das nicht und reicht die Daten 1:1 weiter.
 
Die BDE entfernte die Leertasten ab Ende automatisch, ADO tut das nicht und reicht die Daten 1:1 weiter.
 +
 +
 +
== Prüfen, ob die Datenbank betroffen ist ==
 +
 +
Um zu prüfen, ob Ihre Datenbank überhaupt betroffen ist, melden Sie sich an [[GEVAS-Professional]] bzw. [[REFLEX]] als '''Admin''' an und starten dann über das Menü "Datenpflege" den GEVAS-/REFLEX-Checker.
 +
 +
Dort klicken Sie auf "SQL-Editor".
 +
 +
Auf der Anzeige der Tabellen klicken Sie mit der rechten Maustaste und wählen auf dem Menü "MS-SQL" den Untermenüpunkt "Update-Script für char-Felder" aus.
 +
 +
Der Checker prüft nun in allen Tabellen der Datenbank, ob es char-Felder gibt. Wenn ja, erzeugt er zwei SQL-Scripts:
 +
 +
* Im Register "Script" befindet sich der Script, mit dem die Felder in varchar-Typen geändert werden.
 +
 +
* Im Register "Update Tables Script"  befindet sich der Script, mit dem die Leerstellen der Felder in entfernt werden.
 +
 +
Wenn diese Register leer sind (also kein Script erzeugt wurde), ist diese Datenbank nicht betroffen.
 +
 +
Wenn Scripts erzeugt wurden, kopieren Sie diese in die Zwischenablage und speichern Sie sie in Textdateien. Sie können sie später verwenden, wenn Sie das Programm-Update ausführen.

Version vom 24. Februar 2017, 17:17 Uhr

1 Allgemeines

Nach und nach wird in allen GEVITAS-Programmen der Datenbank-Treiber BDE abgeschafft und durch ADO ersetzt.

Bei älteren Datenbanken kann dabei ein Problem mit Textfeldern auftreten. Diese Felder werden von der Datenbank mit Leertasten auf die eingestellte Länge aufgefüllt.

  • Wenn Sie wissen wollen, ob dieses Problem Ihre Datenbank überhaupt betrifft, können Sie mit unserem Support einen Online-Termin ausmachen. Dieser kann (z.B. per TeamViewer) ermitteln, ob Ihre Datenbank betroffen ist oder nicht.


2 Technischer Hintergrund

In älteren Datenbanken wurden die Textfelder mit festen Längen definiert:

ADR.KURZNAME char(20)

Der SQL-Server füllt in diesem Fall die Felder rechts mit Leertasten (Blanks) auf!


In neueren Datenbanken wurden die Textfelder mit variablen Längen definiert:

ADR.KURZNAME varchar(20)

Die BDE entfernte die Leertasten ab Ende automatisch, ADO tut das nicht und reicht die Daten 1:1 weiter.


3 Prüfen, ob die Datenbank betroffen ist

Um zu prüfen, ob Ihre Datenbank überhaupt betroffen ist, melden Sie sich an GEVAS-Professional bzw. REFLEX als Admin an und starten dann über das Menü "Datenpflege" den GEVAS-/REFLEX-Checker.

Dort klicken Sie auf "SQL-Editor".

Auf der Anzeige der Tabellen klicken Sie mit der rechten Maustaste und wählen auf dem Menü "MS-SQL" den Untermenüpunkt "Update-Script für char-Felder" aus.

Der Checker prüft nun in allen Tabellen der Datenbank, ob es char-Felder gibt. Wenn ja, erzeugt er zwei SQL-Scripts:

  • Im Register "Script" befindet sich der Script, mit dem die Felder in varchar-Typen geändert werden.
  • Im Register "Update Tables Script" befindet sich der Script, mit dem die Leerstellen der Felder in entfernt werden.

Wenn diese Register leer sind (also kein Script erzeugt wurde), ist diese Datenbank nicht betroffen.

Wenn Scripts erzeugt wurden, kopieren Sie diese in die Zwischenablage und speichern Sie sie in Textdateien. Sie können sie später verwenden, wenn Sie das Programm-Update ausführen.