Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
24 ноя 2024, 11:40

Работа с системой 1C:Предприятие для SQL

Автор АнтонГородец, 15 июл 2008, 14:14

0 Пользователей и 2 гостей просматривают эту тему.

АнтонГородец

Общее описание
В нормальной работе система 1С:Предприятие для SQL практически не отличается от «обычной» системы 1С:Предприятие, за исключением некоторых деталей, которые, как правило, не сказываются существенным образом на повседневной работе пользователей системы. Изменение формата хранения информационной базы главным образом оказывает влияние на процедуры администрирования системы, резервного копирования данных и т. п. Кроме того, некоторые особенности полезно знать специалистам, занимающимся конфигурированием систем 1C:Предприятие. Именно на системных администраторов и специалистов по конфигурированию ориентировано дальнейшее изложение. Внимание будет уделено отдельным процедурам и режимам работы, которые подверглись изменению в системе 1C:Предприятие для SQL по сравнению с «обычной» системой 1C:Предприятие.


АнтонГородец

Инициализация информационной базы
Под процедурой инициализации информационной базы понимается создание новой информационной базы системы 1C:Предприятие на «пустом месте», то есть в каталоге, в котором еще нет никаких данных системы 1С:Предприятие, кроме файла конфигурации (1CV7.MD). Для инициализации информационной базы следует запустить программу Конфигуратор, указав в качестве каталога информационной базы пустой вышеупомянутый каталог. Если в качестве каталога информационной базы Конфигуратору при запуске указан каталог, в котором не находится ни одного из возможных файлов словаря базы данных: 1CV7.DD или 1CV7.DDS, то сразу после запуска будет предпринята попытка выяснить формат хранения таблиц данных инициализируемой информационной базы:


АнтонГородец

После того, как сделан выбор формата хранения таблиц, работа с Конфигуратором может быть продолжена в привычном режиме. Однако особенности на этом не кончаются. Для того чтобы инициализировать таблицы базы данных, надо указать параметры доступа к базе данных на сервере. Но прежде надо создать саму базу данных.

Здесь необходимо заметить, что система 1C:Предприятие для SQL не берет на себя такие функции управления сервером баз данных, как создания баз данных, ведение списков пользователей и. т. п. Предполагается, что указанные задачи системный администратор решает средствами самого MS SQL Server 6.5, а система 1C:Предприятие для SQL использует уже созданные базы данных. Однако, готовая база данных - это практически все, что нужно. Все дальнейшие действия с содержимым базы данных: создание и изменение  таблиц,   индексов   и  хранимых   процедур   система 1C:Предприятие для SQL берет на себя. При создании базы данных, используемой для хранения таблиц информационной базы системы 1C:Предприятие для SQL, рекомендуется руководствоваться набором несложных правил:

·         базу данных и журнал транзакций не следует размещать на одном и том же устройстве хранения баз данных (database device).

·         не следует создавать базу данных размером меньше 64 МБ.

·         размер журнала транзакций должен быть равен приблизительно половине размера базы данных.

Помимо создания базы данных на сервере, необходимо решить еще одну задачу: выбрать пользователя, имя и пароль которого система 1С:Предприятие для SQL будет использовать для установления соединения с базой данных. Для того, чтобы система имела достаточный набор привилегий по управлению базой данных, необходимо, чтобы этим пользователем был либо системный администратор MS SQL Server - SA, либо какой-либо другой пользователь, являющийся собственником (owner) базы данных, с которой будет работать система 1C:Предприятие для SQL. Все пользователи системы 1C:Предприятие для SQL для установки соединения с базой данных на сервере пользуются одними и теми же параметрами доступа, которые устанавливаются однократно при инициализации информационной базы.

Итак, предположим, что база данных на сервере уже создана и выбран пользователь, имя и пароль которого будут служить для установления соединения с базой данных. Для задания этих сведений следует, находясь в программе Конфигуратор, обратиться к пункту меню «Операции/Параметры базы данных SQL...». В поля появившегося на экране диалога следует занести требуемые параметры базы данных.


АнтонГородец

При нажатии на кнопку «ОК» Конфигуратор пробует установить соединение с базой данных, используя введенные параметры. Если попытка установить соединение завершилась успешно, параметры базы данных запоминаются для дальнейшего использования.

Еще одной особенностью работы с информационными базами системы 1C:Предприятие для SQL, является необходимость задания списка пользователей. При работе с «обычной» информационной базой системы 1C:Предприятие задавать список пользователей нет необходимости, и, в случае, если ни один пользователь не задан, процедура авторизации доступа к информационной базе производиться не будет. При работе с информационной базой системы 1C:Предприятие для SQL такой вариант невозможен. Если список пользователей пуст, доступ к информационной базе будет закрыт. Поэтому, при инициализации информационной базы необходимо ввести в список пользователей хотя бы одного пользователя.


АнтонГородец

Внимание! Система 1C:Предприятие для SQL согласованно отслеживает изменения в списке пользователей и в параметрах доступа к базе данных. Поэтому произвольная замена или удаление файла списка пользователей (USERDEF\USERS.USR) приведет к потере информации о параметрах соединения с базой данных и потребуется ее повторный ввод. Такой подход гарантирует обязательность выполнения процедуры авторизации доступа к информационной базе.


АнтонГородец

Перенос информационной базы из формата системы 1C:Предприятие 7.5 в формат системы 1С:Предприятие 7.5 для SQL
При переходе от системы 1С:Предприятие 7.5 к системе 1C:Предприятие 7.5 для SQL неизбежно возникает проблема переноса информационной базы из одного формата в другой. Инструментом решения данной проблемы служат средства загрузки/выгрузки информационных баз, доступ к которым производится из Конфигуратора. Процедура переноса может быть представлена в виде последовательности таких шагов:

·         выгрузка существующей информационной базы в файл переноса данных;

·         инициализация новой информационной базы;

·         загрузка файла переноса данных в новую информационную базу;

·         копирование рабочих каталогов пользователей, файлов внешних отчетов, файлов прописи и т. п. из каталога исходной информационной базы в каталог вновь созданной информационной базы.

Рассмотрим перечисленные шаги подробнее. Для выгрузки существующей информационной в файл переноса данных следует запустить Конфигуратор, указав в качестве каталога информационной базы каталог информационной базы, которую надо выгрузить. Затем выбрать пункт меню «Файл./Выгрузить данные...». На экране появится диалоговое, в котором следует задать имя файла переноса данных, а также обозначить, следует ли выгружать сведения о пользователях системы. В случае переноса информационной базы выгрузка сведений о пользователях представляется целесообразной.


АнтонГородец

Следующий шаг - это инициализация информационной базы, в которую будут перенесены данные. Процесс инициализации информационной базы системы 1С:Предприятие для SQL был подробно рассмотрен в предыдущем разделе. Следует сделать замечание о размере создаваемой базы данных. В качестве размера создаваемой базы данных следует указать число, равное сумме размеров всех файлов .DBF и .CDX исходной информационной базы, умноженное на коэффициент приблизительно равный 2.5...3. Указанный объем позволит гарантированно вместить переносимые данные и позволит некоторое время не беспокоиться о том, что в ходе работы с базой данных не произойдет ее переполнения. Размер журнала транзакций также следует определить как половину размера базы данных.

Очередным этапом является загрузка файла переноса в проинициализированную информационную базу. Для загрузки данных следует запустить Конфигуратор системы 1 1C:Предприятие для SQL и выбрать пункт меню «Файл./Загрузить данные...». На экране появится диалог, в котором следует указать имя файла переноса данных, из которого будет производиться загрузка. Естественно, что это должен быть тот же файл, в который ранее выгружалась исходная информационная база.


АнтонГородец

Процесс переноса информационной базы завершается копированием файлов, которые в результате всех предпринятых действий так и не были перемещены из каталога исходной информационной базы в каталог вновь созданной информационной базы. Дело в том, что при выгрузке в файл переноса данных попадают данные только из нескольких основных файлов информационной базы:

·         файла конфигурации (1CV7.MD);

·         файла словаря данных (1CV7.DD);

·         файла списка пользователей (USERDEF\USERS.USR);

·         таблиц базы данных.

Информация из остальных файлов, находящихся в каталоге исходной информационной базы не попадает в файл переноса данных и, соответственно, не загружается во вновь созданную информационную базу. В файл переноса данных также не попадает содержимое рабочих каталогов пользователей. При этом наличие указанных файлов и каталогов может являться критическим для работы системы. Наиболее простым способом приведения вновь созданного каталога информационной базы к требуемому виду является полное копирование содержимого каталога исходной информационной базы, включая подкаталоги, за исключением следующих файлов:

·         1CV7.MD;

·         1CV7.DD;

·         USERDEF\USERS.USR (если сведения о пользователях были включены в файл переноса данных);

·         •.DBF, •.CDX.

В случае необходимости, аналогичным способом может быть осуществлен перенос информационной базы из формата системы 1С:Предприятие для SQL в формат «обычной» информационной базы системы 1С:Предприятие.


АнтонГородец

Каталог информационной базы и база данных на сервере
Как было отмечено выше, каталог информационной базы системы 1C:Предприятие для SQL содержит файл 1CV7.DBA, в котором находятся параметры доступа к размещенной на сервере базе данных. Это позволяет, в случае необходимости, перемещать файлы, расположенные в каталоге информационной базы, в другой каталог, изменяя, таким образом, местоположение самого каталога информационной базы и сохраняя при этом доступ к той же самой базе данных на сервере.

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

Система 1C:Предприятие для SQL при установке соединения с сервером базы данных создает динамическую связку между каталогом информационной базы и базой данных на сервере, гарантируя тем самым, что одновременный доступ к базе данных на сервере может осуществляться только из одного каталога информационной базы. Тем самым обеспечивается правильность работы организованных на уровне файлов механизмов блокировки различных объектов информационной базы.

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


АнтонГородец

Длина реквизитов текстового типа
При разработке конфигураций следует учитывать тот факт, что система 1C:Предприятие для SQL не может работать с константами и реквизитами текстового типа, длина которых превышает 255. Это обусловлено тем, что MS SQL Server 6.5 не поддерживает полей типа CHAR или VARCHAR с длиной, превышающей 255. Однако данное свойство не распространяется на текстовые реквизиты неограниченной длины.

При планировании переноса информационной базы из формата системы 1С:Предприятие в формат системы 1C:Предприятие для SQL следует изменить конфигурацию исходной информационной базы, проставив всем текстовым реквизитам, длина которых превышает 255, признак неограниченной длины.


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск