AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Arbeiten mit 2 Datenbanken
Thema durchsuchen
Ansicht
Themen-Optionen

Arbeiten mit 2 Datenbanken

Ein Thema von Stofus · begonnen am 29. Jul 2009 · letzter Beitrag vom 31. Jul 2009
Antwort Antwort
Stofus

Registriert seit: 6. Jul 2009
4 Beiträge
 
#1

Arbeiten mit 2 Datenbanken

  Alt 29. Jul 2009, 16:51
Datenbank: Access • Version: 2000 • Zugriff über: ADO
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
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Arbeiten mit 2 Datenbanken

  Alt 29. Jul 2009, 17:20
In ADO müsste ein Connection-Prefix angegeben werden können
Markus Kinzler
  Mit Zitat antworten Zitat
Stofus

Registriert seit: 6. Jul 2009
4 Beiträge
 
#3

Re: Arbeiten mit 2 Datenbanken

  Alt 30. Jul 2009, 09:36
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?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Arbeiten mit 2 Datenbanken

  Alt 30. Jul 2009, 09:40
insert into <Prefix Zieldatenbank>.<Zieltabelle>( <Feldliste Zieltabelle>) select <Feldliste.Quelltabelle> from <Prefix Quelldatenbank>.<Quelltabelle> ...
Markus Kinzler
  Mit Zitat antworten Zitat
Stofus

Registriert seit: 6. Jul 2009
4 Beiträge
 
#5

Re: Arbeiten mit 2 Datenbanken

  Alt 30. Jul 2009, 10:33
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...
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Arbeiten mit 2 Datenbanken

  Alt 30. Jul 2009, 10:53
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
Markus Kinzler
  Mit Zitat antworten Zitat
Stofus

Registriert seit: 6. Jul 2009
4 Beiträge
 
#7

Re: Arbeiten mit 2 Datenbanken

  Alt 30. Jul 2009, 12:42
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
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#8

Re: Arbeiten mit 2 Datenbanken

  Alt 31. Jul 2009, 01:11
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: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).
fork me on Github
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:54 Uhr.
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