j'ai une application console en C# qui extrait 20 champs d'un oracle DB witht il le code ci-dessous et je voulais un moyen efficace de les insérer dans SQL 2005.C# 20 000 enregistrements sélectionnés de besoin oracle à insérer dans SQL2005
je veux dotn d'insérer chacun des 20 000 dans la boucle while, évidemment. Je pensais à changer le code pour utiliser un ensemble de données pour mettre en cache tous les enregistrements, puis faire un encart en vrac ...
pensées? Pseudo code serait bien parce que je suis nouveau à Oracle.
ceci est mon code où je testais obtenir une connexion à Oracle et voir si je peux voir les données ... maintenant je peux le voir je veux le sortir et dans sql2005 ... que puis-je faire ici?
static void getData()
{
string connectionString = GetConnectionString();
using (OracleConnection connection = new OracleConnection())
{
connection.ConnectionString = connectionString;
connection.Open();
OracleCommand command = connection.CreateCommand();
string sql = "SELECT * FROM BUG";
command.CommandText = sql;
OracleDataReader reader = command.ExecuteReader();
while (reader.Read())
{
//string myField = (string)reader["Project"];
string myField = reader[0].ToString();
Console.WriteLine(myField);
}
}
}
En supposant des autorisations, vous auriez pu utiliser une instance de serveur lié de SQL Server (ou un dblink d'Oracle) pour connecter directement les bases de données pour l'importation des données. –
Si vous allez le faire régulièrement, pensez à utiliser SSIS. Ce genre de chose est une force, et il sera volontiers optimisé pour les encarts en vrac. –
Je vous recommande d'enrouler votre 'OracleDataReader reader = ...' dans un 'using'. –