![]() |
Re: Diskussion: Umstellung einer Datenbank in einem Projekt
Den Vorteil, so wie Hansa es beschrieben hat, sehe ich auch in einem Export der bestehenden Daten. Zum einen habe ich erstmal eine Sicherung der Daten und zum zweiten kann ich dann die Exportierten Daten so anpassen, wie ich es möchte.
Ich habe gerade noch den ![]() |
Re: Diskussion: Umstellung einer Datenbank in einem Projekt
Hallo,
eventuell schaust Du Dir mal die Komponente TBatchMove an, sie benötigt noch die BDE, was ja bei Deinem Altsystem auch der Fall ist. Mit dieser Komponenten kann man recht einfach Tabellen zwischen Datenbanken kopieren. Zum Kopieren müssen sie halt beide über die BDE erreichbar sein. Das gilt aber nur für die Kopierroutinen, die ja nur einmalig benötigt werden und ist für den späteren Zugriff auf die Zieldatenbank nicht relevant. Die Komponente bietet auch die Möglichkeit, beim Kopieren unterschiedliche Spaltennamen zu matchen. Problemfälle kann sie in Paradoxtabellen protokollieren. Der Programmieraufwand hält sich in Grenzen, da ein Programm für viele Tabellen genutzt werden kann. Je Quell- und Zieltabelle benötigt man halt den Namen der Quell- und Zieltabelle, die Namen der "Fehler"-Tabellen und eine Stringliste mit dem Matching der Spalten (sofern hier keine 1:1-Übernahme erfolgt). Bei einer 1:1-Übernahme kann man hiermit in eine Schleife alle Tabellen einer Datenbank kopieren, man muss nur die Tabellennamen jeweils austauschen und den Kopiervorgang starten. Mit dieser Komponente habe ich schon Daten zwischen diversen (kleineren) Datenbanken ausgetauscht, in der Regel war die Quelle dbase oder Paradox und das Ziel Oracle oder SQL-Server. Die Komponente bietet verschiedene Modi für die Datenübernahme, von hinzufügen, über hinzufügen und aktualisieren, reinem kopieren, reinem aktualisieren bis zum Löschen. Hierüber dürfte auch eine Normalisierung der Tabellen möglich sein, wenn man Quelle und Ziel geschickt auswählt und so eine Quelltabelle in mehreren Schritten in die entsprechenden Zieltabellen übernimmt. Muss man im Zielsystem aber erst noch neue Schlüssel generieren, dann dürfte die Leistungsgrenze der Komponente erreicht oder überschritten sein. ![]() |
Re: Diskussion: Umstellung einer Datenbank in einem Projekt
Zitat:
Nehmen wir einmal an Du hast eine Tabelle mit einem Integer-Feld als ID(PK) und 30 Felder a 10Char. Davon hast Du nun 10.000 Datensätze. In deinem Programm hast Du nun ein Grid oder so um die ersten vier Char Felder anzuzeigen (als Auswahlliste). Bei einem
SQL-Code:
(oder verwendung von TTable) werden jetzt also
SELECT * FROM tabelle
(4 Byte + 30*10Byte) * 10.000 = 3.040.000 Byte geladen. Benötigt wird für die Anzeige aber nur
SQL-Code:
Also
SELECT ID,Feld1,Feld2,Feld3,Feld4 FROM tabelle
(4 Byte + 4*10Byte) * 10.000 = 440.000 Byte :!: Wenn Du nun die Details eines Datensatzen benötigst lädst Du diese genau dann wenn Du sie benötigst.
SQL-Code:
Das ist einer der Vorteile eines Query
SELECT * FROM tabelle WHERE ID = akuelleIDausAuswahlListe
|
Re: Diskussion: Umstellung einer Datenbank in einem Projekt
Hi Sharky, :-D
Ist Open und Active nicht das Gleiche? Außerdem Open sollte immer „geschützt“ werden z.B.:
Delphi-Quellcode:
try
Open; except on E:Exception do begin // end end; Muchacho |
Re: Diskussion: Umstellung einer Datenbank in einem Projekt
Hai Muchacho,
wenn Du genau hinsiehst kannst Du erkennen das der Code mit Open und Active nicht von mir ist ;-) Zitat:
|
Re: Diskussion: Umstellung einer Datenbank in einem Projekt
Zitat:
solltest Du aber :mrgreen: Muchacho |
Re: Diskussion: Umstellung einer Datenbank in einem Projekt
Sharky
Du hast ein Formular mit sagen wir 10 Querys Jetzt kriegst Du einen Anruf von einem Kunden: „Hi, Sharky, ich kriege immer bei Öffnen des Formulars ein SQL Fehler, was ist los?“ Was meinst Du Sharky, wie könnte Dir [try/except/end] Block weiterhelfen? :gruebel: Muchacho |
Re: Diskussion: Umstellung einer Datenbank in einem Projekt
Zitat:
Btw, Muchacho, der http://www.delphipraxis.net/template.../icon_edit.gif - Button möchte gerne benutzt werden. ;) |
Re: Diskussion: Umstellung einer Datenbank in einem Projekt
Der Sourcecode war von mir einfach nur niedergeschrieben, da es um ein kurzes einfache Beispiel ging mit TxxQuery und TxxDataset. Das ist jetzt aber auch nicht das Thema.
Auf jedenfall zeigt das Beispiel von Sharky deutlich, was man an Traffic einsparen kann, wenn man die TTable-Komponenten durch TxxQuery-Komponenten ersetzt. |
Re: Diskussion: Umstellung einer Datenbank in einem Projekt
Zitat:
Was [try/except/end] Block an dieser Stelle betrifft irrst Du Dich gewaltig, sorry. :shock: Manche aussagekräftige Meldungen von SQL-Server sind natürlich nur für Gott verständlich. :mrgreen: Darüber hinaus wäre es nicht schlecht,wenn das Formular (trotzt Fehler) weiter läuft und nicht z.B. OnShow zusammenbricht, meinst Du nicht? Tja Muchacho |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz