У меня есть консольное приложение в C#, который извлекает 20 полей из оракула DB witht он ниже код и я хотел эффективный способ, чтобы вставить их в SQL 2005.C# 20000 записей, выбранные из оракула необходимости вставить в SQL2005
i dotn хочет вставить каждый из 20 000 в цикл while, очевидно. я думал изменить код, чтобы использовать набор данных для кэширования всех записей, а затем сделать объемную вставку ...
мысли?
Псевдо код будет приятным, так как я новичок в oracle.
это мой код, где я тестировал получение соединения с оракулом и видел, могу ли я просматривать данные ... теперь я могу просмотреть его, я хочу получить его и в sql2005 ... что я делаю с Вот?
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);
}
}
}
Принимая разрешения, вы могли бы использовать экземпляр Linked Server из SQL Server (или dblink из Oracle), чтобы напрямую подключать базы данных для импорта данных. –
Если вы собираетесь делать это на регулярной основе, подумайте об использовании SSIS. Это своего рода сила, и она с радостью будет оптимизирована для объемных вставок. –
Я бы рекомендовал обернуть ваш 'OracleDataReader reader = ...' в 'use', а также. –