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]')

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...