2013-08-06 4 views
1

У меня есть 1 таблица в базе данных Oracle и другая таблица в базе данных SqlCe. Обе таблицы называются одинаковыми, и я хотел бы передать все содержимое таблицы в базе данных SqlCe в ту же таблицу в базе данных Oracle, используя SqlBulkCopy, доступную в .NET Framework.Передача данных между различными источниками с использованием SqlBulkCopy

Я знаю, что с помощью SqlBulkCopy можно передавать любые данные из любого источника в базу данных Sql, но я не уверен, возможно ли это из базы данных Sql (в моем случае, SqlCe) для любого источника, например, из SqlCe для Oracle. Может ли кто-нибудь подтвердить меня, если это возможно?

+0

Я думаю, что это не возможно. Я столкнулся с такой проблемой, и решил через SqlBulkCopy, но из файла. Я экспортирую данные из одной базы данных в файл, а затем импортирую в другую базу данных через SqlBulkCopy. –

ответ

2

Вы не использовали бы SqlBulkCopy, поскольку это связано с протоколом соединения SQL Server (TDS); однако, поскольку цель - оракул, OracleBulkCopy должен работать нормально. Вы бы просто использовать ExecuteReader на источник SQLCE, и корма, что в:

using(var target = new OracleBulkCopy(oracleConnectionString)) 
using(var source = cecmd.ExecuteReader()) { 
    target.DestinationTableName = "Foo"; 
    target.WriteToServer(source); 
} 

http://docs.oracle.com/html/E10927_01/OracleBulkCopyClass.htm

+0

+1 Хорошее решение. Я следовал чему-то более сложному. Вы пробовали этот подход? –

+0

OracleBulkCopy не содержится в .NET Framework. Как я уже сказал, это включено в Oracle Data Provider для .NET, которое мне нужно загрузить из Oracle, верно? – user1624552

+0

@ user1624552 правильный –

Смежные вопросы