|
Программирование >> Программирование баз данных
должен находиться на том же компьютере, что и сервер реляционной машины, но при использовании для их эксплуатации разных компьютеров процедура инсталляции становится немного сложнее). Кроме того, автор пришел также к выводу, что эти отделы часто выступают против использования таких конфигураций, в которых допускается развертывание новых функциональных средств (в данном случае новых отчетов) не под их контролем. Безусловно, они имеют весьма основательные причины высказывать свои возражения против подобных вариантов динамического развертывания, поскольку даже единственный запрос, который плохо структурирован или не имеет надлежащей поддержки в виде индексов, способен существенно замедлить обычный процесс выполнения операций на всем сервере базы данных. Отделы информационных технологий несут ответственность за обеспечение бесперебойной работы всех пользователей, поэтому вправе относиться скептически к таким средствам программирования, которые допускают использование непроверенных запросов. Но в целом, несмотря на то, что многие отделы информационных технологий не торопятся внедрять службы Reporting Services, эти службы представляют собой вполне приемлемое дополнение к обычным средствам взаимодействия с пользователем, которое позволяет разработчикам передать конечным пользователям некоторые функции с помощью нового и разностороннего способа, не требуя от них освоения навыков программирования. Глава 18 Обработка больших объемов данных: массовое копирование данных с помощью ВСР и других программ Эта глава была бы ненужной, если бы все системы обработки данных работали вне связи друг с другом. Но в действительности обмен данными лежит в основе функционирования практически всех систем. Наряду с этим иногда возникает необходимость в преобразовании и копировании больших объемов данньгх. Такая необходимость может быть обусловлена тем, что требуемые данные представлены в неподходящем формате или находятся в файлах данных другого приложения. Причем в некоторых случаях приходится сталкиваться с необходимостью передачи больших объемов данных совершенно неожиданно. Тем не менее указанные задачи могут быть решены очень быстро и вполне успешно, поскольку в состав программного обеспечения SQL Server входят два инструментальных средства, позволяющих организовать преобразование и копирование данных наиболее эффективно, - программа ВСР (Bulk Сору Program) и служба SSIS (SQL Server Integration Services). Настоящая глава в основном посвящена описанию первого из этих инструментов. Кроме того, в ней рассматриваются средства, тесно связанные с программой ВСР, - команда BULK INSERT и опция OPENROWSET (BULK). Информация о службе SSIS будет приведена в следующей главе. Те, кто давно работает с СУБД SQL Server, хорошо знакомы с программой ВСР. В этой программе предусмотрен широкий набор функций, который с каждым выпуском SQL Server становится все более удобным для работы. Но самое важное - то, что программа ВСР, начиная с самой первой ее версии, обеспечивает копирование крупных объемов данных, причем позволяет решать эту задачу удивительно быстро (сохраняя эту способность после выпуска каждой новой версии). Недостатком этой программы (если его можно считать таковым) является отсутствие в ней привлекательного графического интерфейса, хотя, откровенно говоря, начиная с версии SQL Server 7.0, программа ВСР стала казаться все менее привлекательной и по многим другим причинам. Тем не менее автор считает не лишним отвести для описания ВСР целую главу. Дело в том, что программа ВСР по-прежнему имеет достаточно широкую область применения. Основные ее преимущества описаны ниже. Низкая потребность в оперативной памяти. Возможность очень быстрого копирования больших объемов данных. Наличие большого количества существующего кода, проверенного на практике и не требующего дальнейших изменений. Применение немного запутанного, но все же полностью сложившегося стиля создания сценариев (который к тому же за долгие годы стал привычным для многих специалистов). Отсутствие кардинальных изменений после каждого нового выпуска. Программа ВСР по своему назначению является утилитой и предназначена для прямой и обратной передачи текста и данных (представленных в собственном формате SQL Server) в таблицы СУБД SQL Server. В последних нескольких версиях утилита ВСР подверглась лишь незначительным изменениям, причем, несмотря на постепенное вытеснение ее другими средствами массовой обработки данных, эта утилита все еще применяется достаточно широко. Утилиту ВСР можно рассматривать как средство преобразования данных, в основном предназначенное для максимально эффективного перемещения данных из одного места в другое, но предоставляющее также некоторые дополнительные ф)Т1кциональные возможности. Кроме того, в настоящей главе рассматриваются некоторые другие средства массовой обработки данных, которые зачастую являются более удобными в использовании, но за это удобство приходится платить определенным сокращением перечня выполняемых функций. В данной главе рассматриваются некоторые нюансы применения утилиты ВСР, а также приведена информация о том, как использовать ВСР в качестве основы реализации многих другж средств, выполняющих аналогичное назначение, - обеспечение обмена данными между системами с максимально возможной скоростью. Утилита ВСР Утилита ВСР вызывается на выполнение из командной строки операционной системы и применяется для импорта и экспорта собственных данных (формат которых является характерным только для СУБД SQL Server), текста ASCII или Unicode. Это означает, что утилиту ВСР можно вызывать на выполнение из пакетного файла операционной системы или из хранимой процедуры, определяемой пользователем, а также применять для этого другие программные объекты. Кроме того, утилита ВСР может быть запущена в составе запланированного задания; еще один вариант состоит в вызове ВСР из объекта .NET с помощью команды командного интерпретатора. Как и в большинстве утилит с интерфейсом командной строки, опции могут быть заданы с использованием дефиса (-) или косой черты (/), но, в отличие от большинства )тилит семейств операционных системы DOS или Windows, обозначения опций чувствительны к регистру. Синтаксис ВСР bcp {[[<database name>.][<owner>].]{<table name><view name>} <query> } in I out I queryout format} <data file> [-m <maximum no. of errors>] [-f <format file>] [-x] [-e <error file>] [-F <first row>] [-L <last row>] [-b <batch size>] [-П] [-C] [-W] [-N] [-V (60 I 65 I 70)] [-6] [-q] [-C <code page> ] [-t <field term>] [-r <row term>] [-i <input file>] [-o <output file>] [-a <packet size>] [-S <server name>[\<instance name>]] [-U <login id>] [-P <password>] [-T] [-V] [-R] [-k] [-E] [-h <hint> [,...n] ]
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |