2016-10-27 3 views
0

Ich muss eine SELECT-Anweisung ausführen, die einen rechten äußeren Join zwischen zwei Tabellen ausführt, die sich in zwei verschiedenen Datenbanken aus einem Powershell-Skript befinden. Ich habe Code, der eine Verbindung zu einer Datenbank herstellen und eine Auswahl dort ausführen kann, aber ich habe keine Ahnung, wie eine DB-Verbindung zu der zweiten Datenbank an dasselbe System.Data.Odbc.OdbcCommand-Objekt angefügt wird. Ist das möglich?SELECT über mehrere MSSQL-Datenbanken in Powershell?

Antwort

0

Sie Connect auf einer Basis und versuchen, etwas wie folgt aus:

 Select * 
     From yourbase1.dbo.yourtable1 f1 right 
Outer Join yourbase2.dbo.yourtable2 f2 
     On f1.key1=f2.key1 

Beispiel für C# -Code

 string connetionString = null; 
     OdbcConnection cnn; 
     connetionString = "Driver={SQL Server};Server=COLOSSUS\\SQLEXPRESS;Database=test;Trusted_Connection = Yes; "; 
     cnn = new OdbcConnection(connetionString); 
     try 
     { 
      cnn.Open(); 
      using (OdbcCommand com = new OdbcCommand("select * from test.dbo.DemoTable f1 right outer join dbremy57.dbo.NewTable f2 on f1.ID=f2.ID", cnn)) 
      { 


       using (OdbcDataReader reader = com.ExecuteReader()) 
       { 
        while (reader.Read()) 
        { 
         string word = reader.GetString(0); 
         // Word is from the database. Do something with it. 
        } 
       } 
      } 
      cnn.Close(); 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show("Can not open connection ! "); 
     } 
+0

Ich habe versucht SELECT dbo.ALL_EVENTS.ID, dbo.ALL_EVENTS.PRIORITY, yourbase2 .dbo.NODE_1.A_NAME VON yourbase2.dbo.NODE_1 RECHTER AUSSENJOIN dbo.ALL_EVENTS EIN (dbo.ALL_EVENTS.NODE_ID = rechts (sys.fn_sqlvarbasetostr (yourbase2.dbo.NODE_1.NODE_ID), 32)) ; 'aber habe eine Ausnahme "Die m Die ulti-part-ID 'yourbase2.dbo.NODE_1.A_NAME' konnte nicht gebunden werden. – reibuehl

+0

versuche eine Sicht in yourbase1 auf deiner Tabelle in yourbase2 zu erstellen und wähle in deiner Sicht – Esperento57

+0

Leider darf ich keine Änderungen an den DB-Schemas in den beiden DBs vornehmen. – reibuehl