2010-04-19 2 views
0

Я использую ниже фрагмент кода для SQL Bulk копииBulkcopy

using (SqlConnection con = new SqlConnection(strConString)) 
{ 
con.Open(); 
SqlBulkCopy sqlBC = new SqlBulkCopy(con); 
sqlBC.DestinationTableName = "SomeTable"; 
sqlBC.WriteToServer(dtOppConSummary); 
} 

Кто может предоставить мне код с помощью блока будут сброшены доступа к данным Enterprise библиотеки

ответ

0

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

+0

Хорошо, могу ли я заменить объект соединения sql блоком доступа к данным? – SSK

+0

или это лучший способ справиться с этим? – SSK

+0

Полагаю, я должен был спросить, почему вы все равно хотите использовать блок доступа к данным ... Я не уверен, что вы хотите использовать блок доступа к данным для этого - вы используете SQL Server специфическая особенность, поэтому любое преимущество перехода через блок доступа к данным ... –

1

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

Если вы хотите использовать массовую копию в среде DAAB, вам необходимо будет изменить вашу реализацию DAAB, чтобы включить ее. Некоторые шаги, которые вы должны будете принять являются:

  1. Создание `интерфейс IDbBulkCopy
  2. Создание класса-оболочки, который реализует интерфейс` IDbBulkCopy и оборачивает SqlBulkCopy
  3. Если вам нужен доступ к Oracle, реализовать `IDbBulkCopy интерфейс для использования функции ADO.NET «Связывание с массивом».
Смежные вопросы