Мне нужно экспортировать данные из Sql Server 2008 в файл Excel/CSV.OPENROWSET vs BCP
У меня есть два варианта, что:
- OpenRowset
- BCP
Какой будет лучше варианты, если объем данных велик и безопасность беспокойство?
Мне нужно экспортировать данные из Sql Server 2008 в файл Excel/CSV.OPENROWSET vs BCP
У меня есть два варианта, что:
Какой будет лучше варианты, если объем данных велик и безопасность беспокойство?
Есть несколько хороших комментариев по аналогичному вопросу здесь: http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=147861.
Моя склонность будет направлена к BULK INSERT, но на самом деле самое лучшее, что вы можете сделать, это попробовать в обоих направлениях. Тогда вы сможете сравнить, что быстрее, и у вас будет лучшее понимание, которое будет лучше соответствовать вашим требованиям безопасности, так как вы узнаете, какие проблемы безопасности вы должны были решить, чтобы заставить его работать.
Редактировать: Вы пытаетесь экспортировать, поэтому, очевидно, BULK INSERT не будет работать. Я считаю, что BCP будет вашим лучшим выбором, и я думаю, что это ваш единственный выбор, если вы хотите сделать массовый экспорт. Я уверен, что OPENROWSET разрешает импорт сыпучих материалов в sql, но не экспорт.
Помощник Downvoter, чтобы объяснить? Я всегда открыт для изучения своих ошибок. –
OPENROWSET работает также для экспорта данных, и лично мне очень нравится этот метод: http://www.mssqltips.com/sqlservertip/1202/export-data-from-sql-server-to-excel/ ... но в в этом случае вы не можете использовать его с CSV-файлами, поскольку он не имеет «управляемый драйвером» формат – MAXE
По BCP вы имеете в виду, используя BULK INSERT заявление, используя BCP инструмент командной строки или с помощью SqlBulkCopy апи? –
Также зависит от ваших проблем с безопасностью. OPENROWSET заблокирован по умолчанию, и вам нужно будет включить его с помощью sp_configure, прежде чем вы сможете его использовать. –
Я имею в виду BCP, используя xp_cmdshell. И оба заблокированы по умолчанию. И для обеспечения безопасности я подразумеваю, что для BCP нам нужна учетная запись Local System для выполнения команды. –