1с php mysql обмен данными
MySQL в качестве системы управления базой данных доминирует в интернет-проектах. Приложение 1С:Предприятие может устанавливать соединения с серверами MySQL для обмена данными в обоих направлениях. Это может использоваться например:
- для публикации сведений в интернет;
- для получения сведений из интернет;
- для обмена данными с другими приложениями 1С через общее интернет-хранилище.
Для установки соединения с сервером MySQL и подключения к одной из DB такая возможность должна быть предусмотрена целым комплексом серверных настроек, которые осуществляет администратор сервера, и здесь они не будут рассматриваться. Тем не менее, в ряде случаев доступ к каждой отдельной DB должен быть настроен администратором хостинга соответствующими средствами.
DirectAdmin Web Control Panel
При использовании для управления хостингом DirectAdmin Web Control Panel следует выполнить следующую последовательность действий:
Проверить наличие драйвера в системе можно в Панель управления -> Источники данных ODBC -> Администратор источника данных ODBC, драйвер должен присутствовать в закладке Драйверы в списке установленных драйверов, в списке будет отражено имя и версия. Окно администратора источника данных ODBC можно вызвать командами:
- x32 версия: %windir%\syswow64\odbcad32.exe
- x64 версия: %windir%\system32\odbcad32.exe
Другой способ проверить наличие драйвера, который можно реализовать программно, это просмотреть список параметров реестра в ветке установленных драйверов:
[ HKEY_LOCAL_MACHINE \ SOFTWARE \ ODBC \ ODBCINST . INI \ ODBC Drivers ]Точное имя установленного драйвера будет необходимо для установки соединения в программном модуле 1С.
Все операции с сервером MySQL в программе необходимо выполнять через установленное соединение, которое реализуется универсальным COM-объектом типа Connection в его методе .Open(<строка подключения>, [<логин>], [<пароль>], [<опции>]) использующем специально подготовленную строку подключения.
Пример установки соединения:
СтрокаПодключения = СтрШаблон ( "DRIVER=При успешной установке соединения свойство .State устанавливается в 1, а в случае ошибки остается в состоянии 0. Коллекция ошибок типа Errors доступна в объекте соединения, однако в нее попадают ошибки только уровня сервера, которые возникают после установки соединения с сервером. Если ошибка возникла до установки соединения по сетевой или иной причине, ошибка в коллекцию .Errors не попадет.
Для завершения работы с установленным соединением его желательно закрыть:
После успешного установления соединения сервером MySQL можно управлять посредством sql-выражений в пределах прав установленных для пользователя, логин которого был использован при подключении. Существует два способа выполнения sql-выражений: непосредственно через объект соединения; через дополнительный объект команды.
Запросы Соединения
Успешно открытый объект соединения типа Connection может передать на сервер MySQL sql-выражение для выполнения используя метод .Execute(<выражение>[, <обработано>[, <опции>]]), где:
Продолжаем настраивать рабочее окружение для курса по интеграции 1С с web сайтами, и в данном уроке установим MySQL. Для этого надо скачать MySQL с сайта. Скачиваем версию MySQL Community Edition (GPL) в виде zip архива, а не установщика. Ознакомится с полным курсом по интеграции вы можете здесь.
Базу данных мы будем использовать при разработке на PHP и урок по его установке и настройке вы можете посмотреть по ссылке.
Установка MySQL для интеграции с 1С
В папке нашего локального web сервера установленного в предыдущем уроке, создайте папку DB. В ней будет хранится наша база данных.
Разархивируйте скачанный файл и скопируйте его содержимое в папку MySQL в каталоге Bin нашего web сервера.
Настройка 1С и MySQL
Я подготовил файл с настройками my.ini. Его надо скопировать в папку MySQL. Ниже его содержание:
[ mysqld ]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
datadir="c:/Server/DB/"
default_authentication_plugin=mysql_native_password
Немного опишу, что означают наши параметры:
STRICT_TRANS_TABLES
Включает «строгий режим» для всех таблиц, поддерживающих транзакции, т.е. на InnoDB и BDB. Этот режим возвращает ошибку, вместо предупреждения в следующих случаях:1. Тип входных данных не соответствует заданному типу. Например, вставка строки в колонку c числовым типом
2. Число или дата находится вне допустимого диапазона. Диапазон определяется типом данных. Например, для типа unsigned tinyint допустимым диапазоном являются числа от 0 до 255
3. При вставке данных пропущено значение колонки, для которой не задано значение по умолчанию и имеет атрибут NOT NULL
4. Длина значения выходит за пределы заданного диапазона. Например, для колонки типа CHAR(5) вы не сможете вставить строку более 5 символов
5. Для типов ENUM и SET отсутствует вставляемое или обновляемое значение
Более подробно об особенностях работы данного режима будет рассказано отдельно в последующей ниже главе.
datadir
Каталог где расположена наша база данных, обратите внимание на слеши
default_authentication_plugin
Для того чтобы избежать появление ошибки «The server requested authentication method unknown to the client [caching_sha2_password]»
Установка базы данных
Теперь откроем командную строку от имени администратора и выполним поочередно 3 команды для инициализации и установки нашей СУБД MySQL.
C:\Server\bin\mysql\bin\mysqld --initialize-insecure --user=root
C:\Server\bin\mysql\bin\mysqld --install
net start mysql
На этом установка MySQL завершена и для управления базами данных нам необходимо установить phpmyadmin. Чем мы и займемся в следующем уроке.
Читайте также: