Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi XML Datei in MSSQL (https://www.delphipraxis.net/83339-xml-datei-mssql.html)

cu mic 31. Dez 2006 12:50

Datenbank: MSSQL MSDE • Zugriff über: ADO

XML Datei in MSSQL
 
Hallo zusammen,

ich habe folgendes Problem: Es gibt zwei örtlich getrennte Standorte mit jeweils eigenem SQL Server (Standort 1 MS SQL-Server, Standort 2 MSDE) aber gleich aufgebaute Datenbanken. Die Stammdaten werden nur im Standort 1 gepflegt. Es existiert keine Netzwerkverbindung zwischen den Servern. Die 4 Stammdatentabellen sind nicht groß (jeweils <1000 Einträge) und werden auch nicht häufig geändert.
Die Frage ist, wie mache ich ein Update der Stammdaten in Standort 2?
Meine erste Idee war es über eine SQLite Datei mit zwei kleinen Programmen. Habe ich aber verworfen.
Dann dachte ich an eine XML Datei. Soweit gut - mit einem ClientDataSet, DatasetProvider... lässt sich die Datei auch erstellen. Jetzt aber die Sache aus XML wieder zurück :gruebel: (Ich muss zugeben, dass ich mit XML noch nicht gearbeitet habe :? )

Hat jemand vielleicht eine Idee? Oder ist ein anderer Ansatz besser?

Michael

Bernhard Geyer 31. Dez 2006 14:45

Re: XML Datei in MSSQL
 
Evtl. geht folgendes:

Laptop mit MSDE wird mit Datenbank 1 repliziert. Wenn an Standort 2 hängt wird es auf Datenbank 2 repliziert.

cu mic 31. Dez 2006 15:07

Re: XML Datei in MSSQL
 
Danke erst einmal für eine schnelle Antwort.
Leider sind die Standorte 600km auseinander.
Schön wäre es eine Datei (xml?) auf den ftp zu legen und an Standort 2 ein kleines Programm zu starten, der die Datei einfügt (man könnte die 4 Tabellen vorher sogar leeren).

Ich hänge gerade dabei einen ClientDataSet in eine ADOQuery zu kriegen.
Ich dachte mir:
1. ClientDataSet loadfromfile
2. DataSetProvider Dataset=ADOQuery
3. und dann sowas wie Post

Leider habe ich mit den Komponenten noch nichts gemacht.

marabu 31. Dez 2006 15:11

Re: XML Datei in MSSQL
 
Hallo,

ich würde auf System 1 ein Backup der Datenbank erstellen und auf System 2 ein Restore fahren - per SQL. Das backup file würde ich gezippt auf dem FTP-Server bereit stellen.

Grüße vom marabu

cu mic 31. Dez 2006 15:18

Re: XML Datei in MSSQL
 
1. Kann man ein Backup auch auf Tabellenteile begrenzen?
2. Gibt es die Möglichkeit das Restore per Knopfdruck (Enduser) anzustoßen?

cu mic 31. Dez 2006 15:19

Re: XML Datei in MSSQL
 
Sorry zu 1.
erst denken dann schreiben
Kann natürlich die relevanten Daten in andere DB kopieren :idea:

marabu 31. Dez 2006 16:15

Re: XML Datei in MSSQL
 
Hallo,

man kann nicht nur, man muss alles auf Knopfdruck machen - so steht es zumindest in den Lizenzbedingungen. Zu deinem Punkt 1 hast du ja schon einen Ansatz gefunden. Das Wiederherstellen der Datenbank auf der Zielmaschine kannst du mit folgendem Statement erledigen:

SQL-Code:
RESTORE DATABASE [db_name]
FROM DISK = 'C:\Programme\Microsoft SQL Server\MSSQL\Backup\db_name.bak'
WITH MOVE 'db_name' TO 'C:\Programme\Microsoft SQL Server\MSSQL\data\db_name.mdf'
,   MOVE 'db_name_log' TO 'C:\Programme\Microsoft SQL Server\MSSQL\data\db_name_log.ldf'
Du wirst wissen, was du da alles an deine Verhältnisse anpassen musst.

Freundliche Grüße

cu mic 31. Dez 2006 16:50

Re: XML Datei in MSSQL
 
:thumb:
Klingt sehr gut, ich glaube, das ist die einfachste und eleganteste Lösung.
Werde mich morgen gleich mal dransetzen.

Erst einmal vielen Dank! ... und einen guten Rutsch ins neue Jahr! :cheers:

Bernhard Geyer 31. Dez 2006 16:53

Re: XML Datei in MSSQL
 
Es besteht doch (zeitweise) ein Verbindung zwischen den Standorten (z.B. über 0815-DSL-Verbindungen). Dann richte doch ein gemeinsames Netzwerk ein und nimm die Möglichkeiten der DB bezüglich Replikation. Das machen wir mit unseren Außendienstmitarbeitern täglich.

cu mic 31. Dez 2006 17:42

Re: XML Datei in MSSQL
 
Hatte ich schon mal in Betracht gezogen, aber die Hindernisse waren 2 Firewalls und eine dynamische IP (Standort 2).

:roll: Der könnte sich allerdings über VPN in Standort 1 einloggen.

Dann müsste ich mich noch mal in die verschiedenen Replikationstechniken einarbeiten. Wie wird die Replikation denn von den Außendienstlern angestoßen?

Viele Grüße

Michael


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:54 Uhr.
Seite 1 von 2  1 2      

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