Zum Inhalt springen

SqlCommand über verschiedene Server


Empfohlene Beiträge

Geschrieben

Hi,

ich bin mir jetzt zwar nicht sicher, ob das Thema ins .NET oder ins DB Forum gehört. Auf jedenfall möchte ich einen Insert Befehl in einem VB.NET Programm ausführen. Dafür erstelle ich ein SqlCommand und weise ihm einen CommandString und eine Connection zu.

Das Problem liegt im CommandString und zwar hole ich Daten von einer Tabelle und füge sie in eine andere ein. Die Tabellen sind aber in verschiedenen Datenbanken auf verschiedenen Servern. Nun weiß ich nicht, wie ich die Tabelle auf den anderen Server angeben soll (Selber Server, verschiedene DB wär kein Problem).

Der Befehl sieht in etwa so aus:

INSERT INTO Tabellenname

SELECT Werte

FROM ???

WHERE Bedingung

Die Angegebene Connection ist die, zur Zieltabelle. Aber wie hole ich die Daten aus der Quelltabelle? Habe dazu irgendwie nichts gefunden.

Geschrieben

Ich bin zwar nicht der MySQL Experte, aber ich hab es immer über eine "neue" Connection gemacht.

Wie sieht denn dein Connection String aus?

Ansonsten schreib dir eine Klasse, worüber du mehrere MySQL Connections erstellen kannst und sie darüber steuern kannst.

Geschrieben

Spontan fallen mir hierzu drei Lösungsansätze ein:

- Öffnen einer Verbindung zur Quelltabelle und einer zur Zieltabelle und dann via VB die Einträge mit Insert kopieren.

Leider hast Du nicht angegeben, welchen Datenbankserver Du verwendest, so dass ich hier nur für den MS-SQL-Server sprechen kann. Er weisst verschiedene Möglichkeiten auf und ich gehe stark davon aus, dass andere Datenbanksysteme so was vermutlich noch viel besser können...

- Verbinden der Datenbankserver untereinander. Hierbei legt man Linked Server an und kann danach solche Statements ausführen:

INSERT INTO [iP_DES_ZIELSERVERS].[ZIEL_DATENBANK].[dbo].[ZIEL_TABELLE] SELECT SPALTEN FROM [QUELL_DATENBANK].[dbo].[QUELLTABELLE]

oder umgekehrt

INSERT INTO [ZIEL_DATENBANK].[dbo].[ZIEL_TABELLE] SELECT SPALTEN FROM [iP_DES_QUELLSERVERS].[QUELL_DATENBANK].[dbo].[QUELLTABELLE]

- Aufbau einer Datenbankverbindung direkt im SQL-Statement:

INSERT INTO [ZIEL_DATENBANK].[dbo].[ZIEL_TABELLE] SELECT SPALTEN FROM OPENROWSET ('DRIVER','CONNECTIONSTRING','SELECT SPALTEN FROM [QUELL_DATENBANK].[dbo].[QUELLTABELLE]')

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...