Экспорт данных SQL Server с перераспределенными компонентами - PullRequest
0 голосов
/ 22 апреля 2009

Я пишу приложение, которое пытается выполнить массовый экспорт данных из базы данных SQL Server (с заданной строкой соединения) в локальный файл (в любом формате).

Обычно утилита sql server BCP.exe была бы идеальной, однако утилита bcp может быть недоступна на компьютере, на котором запущено мое приложение. Также , bcp не считается распространяемым приложением.

Мой вопрос: правда ли, что BCP.exe не распространяется? Если нет, то какие лучшие распространяемые модули доступны для меня и моего приложения.

Будет рассмотрено любое решение.

Ответы [ 3 ]

0 голосов
/ 22 апреля 2009

Есть ли конкретная причина, почему вы смотрите на BCP? Вы экспортируете очень большие объемные данные? BCP очень быстрый, но он работает "под прикрытием" и, таким образом, обходит некоторые из обычных сдержек и противовесов. AFAIK - это инструмент рабочей станции SQL (установленный с SSMS и т. Д.), Который обычно не используется на клиентских компьютерах.

Звучит так, будто вы разрабатываете экспорт на основе "тяги". Другим вариантом может быть передача данных из служб SQL Server Integration Services на каждый целевой компьютер (или публикация необходимых данных и предоставление клиентам возможности подписаться на них).

В противном случае вы могли бы написать приложение на основе .Net (или другого), которое использует ADO для извлечения данных и записи их в файл. У вас есть несколько вариантов - можете ли вы расскажи немного больше о том, в какой среде ты работаешь?

0 голосов
/ 22 апреля 2009

Нет, экспорт по запросу - это то, что мне нужно. Это для большого количества данных. ADO медленнее чем bcp, иначе я бы это рассмотрел. Мне нужны возможности массовой передачи данных, которые имеют скорость SSIS или BCP.

Вы правы, bcp - это инструмент рабочей станции SQL, и он никогда не использовался на клиентских машинах, что является моей дилеммой.

Джереми, C # приложения в порядке.

0 голосов
/ 22 апреля 2009

Если вы используете VB.Net или C #, вам не нужны никакие распространяемые компоненты, кроме фреймворка.

Редактировать: Я хотел бы знать, на какую систему вы нацеливаетесь для своего приложения и какой язык программирования вы планируете использовать для его создания. Так что я могу дать соответствующий ответ.

Снова отредактируйте: Возможно, вы захотите попробовать метод SQL OPENROWSET , который позволит вам вставить напрямую любому поставщику OLEDB. Кроме этого, вы будете застревать с ADO для этого.

...