2013-07-19 14 views
0

Peut-être y a-t-il beaucoup de dublicats de cette question. Mais je n'ai jamais utilisé ADO.NET, c'est pourquoi j'ai un problème à propos de SqlCommand avec 2 chaînes de connexion.Copie de données d'une table dans une base de données vers une autre table dans une autre base de données

J'ai trouvé du code pour copier des données d'une table dans une base de données vers une autre table dans une autre base de données.

  SqlCommand command = new SqlCommand("SELECT * INTO Db2.dbo.Car FROM Db1.dbo.Automobile", Constr); 

      SqlDataAdapter adapter = new SqlDataAdapter(command); 
      DataSet dataSet = new DataSet(); 
      adapter.Fill(dataSet); 
      ResultGrid.ItemsSource = dataSet.Tables["Car"].DefaultView; 

J'utilise 2 base de données et donc, je mettre 2 chaîne de connexion pour chaque base de données. Où devrait les définir?

+0

Ce n'est pas directement lié à votre question, mais vous pouvez aussi le faire en utilisant 1) database - tasks - import/export, 2) configurer un serveur lié et exécuter INSERT INTO dest * SELECT source FROM – makciook

+0

Si je veux copier seulement quelques colonnes, est ce bon code: "SELECT column_1, column2 INTO Db2.dbo.Car FROM Db1.dbo.Automobile"? –

Répondre

2

Vous n'avez pas besoin de deux chaînes de connexion. La requête que vous avez mentionnée dans votre extrait de code ur doit être exécutée sur DB1 db. Donc, votre Constr juste besoin de pointer vers DB1 db. Votre requête s'exécutera sur DB1 et créera une nouvelle table Car dans DB2 db.

Remarque: Hypothèse est que DB1 et DB2 existent sur le même serveur et l'utilisateur que vous utilisez avez accès à créer une table dans la base de données DB2.

+0

Si je ne veux copier que quelques colonnes, est-ce le bon code: "SELECT column_1, column2 INTO Db2.dbo.Car FROM Db1.dbo.Automobile"? –

+1

Oui c'est correct. – Vasanth

Questions connexes