Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Arbeiten mit 2 Datenbanken (https://www.delphipraxis.net/137849-arbeiten-mit-2-datenbanken.html)

Stofus 29. Jul 2009 15:51

Datenbank: Access • Version: 2000 • Zugriff über: ADO

Arbeiten mit 2 Datenbanken
 
Ich arbeite erst seit ungefähr einem Monat mit Delphi und bin zurzeit dabei ein kleines Programm zu schreiben. Das Programm soll unter anderem eine Art Schnittstelle beinhalten, welche Datensätze von einer Tabelle in eine andere überträgt(einfügt). Die Tabellen liegen in unterschiedlichen Datenbanken (Access), welche allerdings beide bereits im Programm über ADO-Komponenten geöffnet sind.
Hätte jemand einen Lösungsvorschlag bzw. einen Tipp? Thx schonma

mkinzler 29. Jul 2009 16:20

Re: Arbeiten mit 2 Datenbanken
 
In ADO müsste ein Connection-Prefix angegeben werden können

Stofus 30. Jul 2009 08:36

Re: Arbeiten mit 2 Datenbanken
 
Erstma thx für die schnelle Antwort. Leider komme ich im Moment trotzdem nicht weiter..:/ Kannst du es vielleicht etwas genauer beschreiben was du damit meinst bzw. vl kurz in Stichworten schreiben wie du vorgehen würdest?

mkinzler 30. Jul 2009 08:40

Re: Arbeiten mit 2 Datenbanken
 
SQL-Code:
insert into <Prefix Zieldatenbank>.<Zieltabelle>( <Feldliste Zieltabelle>) select <Feldliste.Quelltabelle> from <Prefix Quelldatenbank>.<Quelltabelle> ...

Stofus 30. Jul 2009 09:33

Re: Arbeiten mit 2 Datenbanken
 
Danke, ich denke da fehlt mir noch ein Grundverständnis und ich muss mich da noch einarbeiten. Das eigentliche Problem ist, das ich nicht weiß wie ich 2 Datenbanken "zusammen" ansprechen kann, um dann die entsprechenden SQL-Anweisungen zu schreiben. Mit einem Query kann ich ja keine 2 Datenbanken ansprechen. Leider finde ich beim googeln nicht viel...

mkinzler 30. Jul 2009 09:53

Re: Arbeiten mit 2 Datenbanken
 
Zitat:

Mit einem Query kann ich ja keine 2 Datenbanken ansprechen. Leider finde ich beim googeln nicht viel...
Doch. Der Prefix ist ja die (Datenbank-)Verbindung

Stofus 30. Jul 2009 11:42

Re: Arbeiten mit 2 Datenbanken
 
Das heißt ich verbinde eine Datenbank mit dem Query direkt und die andere verbinde ich sozusagen über eine direkte Pfadangabe im SQL. Eine flexible Ansteuerung ist dann bei der Datenbank mit dem direkten Pfad aber nicht möglich... Oder habe ich das alles komplett falsch verstanden?^^ Könntest du vielleicht mal so eine Zeile Beispiel-Code schreiben, damit ich mal seh wie sowas aussehen könnte? thx

sx2008 31. Jul 2009 00:11

Re: Arbeiten mit 2 Datenbanken
 
Bei Access musst du jede Datenbank einzeln öffnen, brauchst also zwei ADOConnections.
Beim MS SQL Server gibt es die Möglichkeit Verbindungsserver einzurichten;
d.h. du greift auf Server A zu und kannst trotzdem von Server B Daten abrufen,ändern,löschen.
Die Syntax sieht so aus:
SQL-Code:
SELECT * FROM VerbindungsServerName.DatenbankXYZ.dbo.Tabellenname
Aber wie gesagt, bei Access (aka Jet Engine) ist dies nicht möglich.

Es wäre allerdings möglich auf einem SQL Server zwei Verbindungsserver einzurichten, die jeweils auf eine Access Datenbank verweisen.
Die *.mdb Dateien sollten idealerweise auf dem Server Rechner gespeichert sein, andernfalls gibt es grössere Leistungsverluste.
Aber ich schätze mal, du hast nur zwei lokale Access Datenbanken und es wird daher nichts anderes übrig bleiben
als im Programm Datensatz für Datensatz zu lesen (aus Datenbank A) und dann einzufügen (in Datenbank B).


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:26 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