![]() |
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 |
Re: Arbeiten mit 2 Datenbanken
In ADO müsste ein Connection-Prefix angegeben werden können
|
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?
|
Re: Arbeiten mit 2 Datenbanken
SQL-Code:
insert into <Prefix Zieldatenbank>.<Zieltabelle>( <Feldliste Zieltabelle>) select <Feldliste.Quelltabelle> from <Prefix Quelldatenbank>.<Quelltabelle> ...
|
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...
|
Re: Arbeiten mit 2 Datenbanken
Zitat:
|
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
|
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:
Aber wie gesagt, bei Access (aka Jet Engine) ist dies nicht möglich.
SELECT * FROM VerbindungsServerName.DatenbankXYZ.dbo.Tabellenname
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