Существует ли эквивалентная функция привязки массивов Oracle в SQL Server? - PullRequest
1 голос
/ 06 сентября 2011

Я только что натолкнулся на эту функцию в Oracle для своих приложений .Net и только что вставил 1,2 миллиона записей за 15 секунд, используя ODP.Net.

Мне бы хотелось, чтобы это производительность в SQL Server, поэтому мне было интересно, есть ли альтернатива / такая же функция в SQL Server?

Спасибо

Ответы [ 2 ]

2 голосов
/ 06 сентября 2011

Вот что я обнаружил:

В приложении одна из самых больших накладных расходов при вставке данных в база данных совершает поездки в БД для целей вставки. ADO.Net предоставляет механизм для копирования большого объема данных на сервер SQL используя SqlBulkCopy .

Но для вставки больших объемов данных в Oracle База данных нам нужна помощь ODP.NET (поставщик данных Oracle для .NET). Предполагая, что ODP.NET уже установлен, добавьте ссылку на «Oracle.DataAccess» к вашему решению. Код ниже демонстрирует, как массовое копирование для oracle можно получить с помощью Array Binding.

Мартин прав.

в SQL Server вы должны использовать SqlBulkCopy множество вопросов по этому поводу здесь, в SO:

В чем недостаток SqlBulkCopy

0 голосов
/ 07 сентября 2011

Я посмотрел на него, и в SQL Server есть BULK INSERT, который использует файлы для импорта данных, который работает быстрее, чем класс SqlBulkCopy

Однако, не выполняя точных тестов, я не уверен, как это работает против Oracle

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...