Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Stored Procedure auf verschiedene Datenbanken verteilen (https://www.delphipraxis.net/157618-stored-procedure-auf-verschiedene-datenbanken-verteilen.html)

ibp 18. Jan 2011 15:10

Datenbank: Interbase • Version: 6.5 ... • Zugriff über: BDE, IBX

Stored Procedure auf verschiedene Datenbanken verteilen
 
Hallo,

wie macht ihr das oder was für Ideen habt ihr dazu?

Gesucht: Strategie zur Verteilung von Stored Procedures (SP) auf x Datenbanken.

Hintergrund: Bei Updates einer Software kommen u.A. neue oder erweiterte SP zum Tragen. Bisher wurden Änderungen an den Datenbanken mit in das Hauptprogramm eingespielt, welches dann beim Start auf Aktualität testet und entsprechend die DB anpasst.

Da durch Umstellungen nun immer mehr SP zum Einsatz kommen, suche ich nach einer neuen geeigneten wartungsarmen, sicheren und einfachen Möglichkeit, da die User u.U. nicht gerade Computerfreaks sind.

Brainstorming erwünscht....

Danke im Voraus... :thumb:

Bernhard Geyer 18. Jan 2011 15:19

AW: Stored Procedure auf verschiedene Datenbanken verteilen
 
Die SP's kannst du genauso beim Programmstart in der Prüfung auf aktualität einspielen.

Stichworte sind DROP/CREATE/ALTER PROCEDURE

ibp 18. Jan 2011 15:28

AW: Stored Procedure auf verschiedene Datenbanken verteilen
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1075551)
Die SP's kannst du genauso beim Programmstart in der Prüfung auf aktualität einspielen.

Ja, das mache ich ja schon aber langsam wird mir das zu unübersichtlich im QC.

ChrisE 18. Jan 2011 16:03

AW: Stored Procedure auf verschiedene Datenbanken verteilen
 
Hallo,

also ich denke, dass dir dann fast nichts übrig bleibt, außer diese Prüfung /Anpassung der DB aus zu lagern in (d)ein Updateprogramm. Das kann man natürlich beliebig kompliziert / einfach gestallten :-)

Oder du schreibst kleine Programme, die nur ein Update von Version x nach y können. Triffst du auf eine Datenbank die meinetwegen Version d hat und du erwartest Version f rufst du zuerst Programm d_nach_e.exe und dann e_nach_f.exe auf.
Allerdings ist das immer nur eine Verlagerung der "Komplexität" des Updates. Das Problem des Updates bleibt meiner Meinung nach bestehen.

Gruß, Chris

Neumann 18. Jan 2011 19:12

AW: Stored Procedure auf verschiedene Datenbanken verteilen
 
Hallo,

meine Methode ist folgende:

Ich benutze IBExpert um die Scripte für die Änderungen zu erstellen und erstelle dann eine Ressourcen-Datei die die Scripte enthält. Das Programm führt die Scripte dann aus, wenn es beim Start feststellt, dass die Programmversion höher ist als der Wert in der Datenbank ist (wird dort in einem Generator gespeichert).

Ist es nur eine kleine Änderung wie etwa ein zusätzliches Feld in einer Tabelle dann schreibe ich den SQL-Befehl mit in den QC.

Probleme (benutze Firebird) dabei sind allerdings folgende:

1. Firebird-Server muss oft upgedatet werden; das Programm in seiner aktuellen Version braucht Firebird 2.5, alte Versionen des Programms arbeiten mit Firebird 1.5; weiter ergibt sich dann auch noch das Problem das die Ondisk-Struktur der Datenbank nicht mehr passt und diese über Backup/Restore angepasst werden muss.

2. Für manche Änderungen der Datenbank braucht man exklusiven Zugriff; also müssen alle anderen Clients geschlossen werden. Darauf kann man den User zwar hinweisen - hilft aber nicht immer.

Überlege, ob ich das Update des Datenbankservers über ein AutoIt-Script machen könnte.

Gruß

Ralf

mkinzler 18. Jan 2011 19:14

AW: Stored Procedure auf verschiedene Datenbanken verteilen
 
Möglichweise wäre da IBEScript eine Option


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:57 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 by Thomas Breitkreuz