2008-09-23 10 views
2

J'ai un grand ensemble de données ADO.Net et deux schémas de base de données (Oracle) avec des contraintes différentes. L'ensemble de données fonctionnera avec l'un ou l'autre des schémas, mais je veux être en mesure de dire à l'ensemble de données quel schéma utiliser (via la chaîne de connexion) au moment de l'exécution.Point ADO.Net DataSet à différentes bases de données à l'exécution?

Est-ce encore possible?

Répondre

2

Dans le monde .Net 2.0, vous pouvez modifier votre chaîne de connexion sur vos adaptateurs de table lors de l'exécution. Vous devez juste être sûr que la propriété Connnection est publique, qui peut être définie à partir du concepteur de dataset.

1

Les ensembles de données ne savent pas dans quelle base de données ils pointent - ils ne sont que des conteneurs de données. Si l'ensemble de données est rempli avec un adaptateur de données, alors @Austin Salonen l'a signalé, vous le changez du côté de l'adaptateur.

1

Ceci est un extrait de code sur la façon dont vous pourriez mettre à jour la chaîne de connexion lors de l'exécution. Peu importe ce qui a généré l'ensemble de données.

  DataSet ds = new DataSet(); 

      // Do some updateing here 

      // Put your connection string here dyanmiclly 
      System.Data.OleDb.OleDbCommand command = new System.Data.OleDb.OleDbCommand("Your Runtime Connection String"); 

      // Create the data Adapter 
      System.Data.OleDb.OleDbDataAdapter dataAdapter = new System.Data.OleDb.OleDbDataAdapter(command); 

      // Update the dataset 
      dataAdapter.Update(ds); 
Questions connexes