1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-12-28 00:13:46 +02:00
Files
Anton Titovets 3b98a16b2a Revert "Main build (Jenkins)"
This reverts commit 88e773328f.
2025-11-04 20:59:55 +03:00

6.3 KiB
Vendored

id, sidebar_class_name, keywords
id sidebar_class_name keywords
MySQL MySQL
1C
1С:Предприятие
1С:Предприятие 8.3
API
Интеграция
Сервисы
Обмен
OneScript
CLI
MySQL

<img src={require('../../static/img/APIs/MySQL.png').default} width='64px' />

MySQL

Этот раздел посвящен библиотеке для работы с базами данных MySQL в 1С:Предприятие, OneScript и CLI. На данной странице описаны все действия, необходимые для полноценного начала работы

<img src={require('../../static/img/addin.png').default} class="tipimage" />

Для реализации некоторых функции в этой библиотеке используется внешняя компонента
Пожалуйста, ознакомьтесь с разделом ["О внешних компонентах"](/docs/Start/Component-requirements) перед началом работы

<img src={require('../../static/img/lock.png').default} class="tipimage" />

Для работы этой библиотеки на Linux необходим **OpenSSL 3.x**
Узнать больше: "Об использовании OpenSSL во внешних компонентах"

О реализованных методах

Данная библиотека состоит из двух частей: основных методов, вроде подключения и выполнения SQL-запросов, и небольшой ORM для часто встречающихся операций, вроде CREATE, SELECT, INSERT, DELETE и пр. Работа через ORM и через тексты запросов, выполняемые функцией ВыполнитьЗапросSQL(), технически не отличается: ORM просто формирует текст SQL-запроса на основе макетов, но далее также выполняет их этой функцией

По умолчанию, все запросы SELECT возвращают массив выбранных данных, а остальные запросы - только true в поле result при успехе, либо false и текст ошибки в полях result и error соответственно. Для выполнения запросов, требующих возврата данных, но не являющихся запросами SELECT, в функции ВыполнитьЗапросSQL() есть параметр ФорсироватьРезультат

Параметры запросов

Коннектор MySQL поддерживает использование позиционных параметров. Все значения, передаваемые как при прямом выполнении запросов через функцию ВыполнитьЗапросSQL(), так и в ORM методах с установкой значений, вроде ДобавитьЗаписи и ОбновитьЗаписи, должный представлять из себя структуру вида {'Тип данных': 'Значение'}. Поддерживаются следующие типы данных*:

* В перечне типов MySQL перечислены только некоторые подходящие типы

Имя типа (ключ структуры) Тип значения 1С Подходит для типов MySQL
BYTES Строка (путь к файлу), ДвоичныеДанные TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB
UINT Число (целое, без знака) TINYINT UNSIGNED, SMALLINT UNSIGNED, MEDIUMINT UNSIGNED, INT UNSIGNED, BIGINT UNSIGNED
INT Число (целое) TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT
FLOAT Число FLOAT
DOUBLE Число DOUBLE (REAL, DOUBLE PRECISION)
DATE Дата, Строка (дата в формате RFC 3339) DATE, DATETIME, TIMESTAMP
TIME Дата, Строка (дата в формате RFC 3339) TIME
TEXT Строка CHAR, VARCHAR, TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT, SET

Получение двоичных данных

Двоичные данные при получении из БД будут представлены как объект (структура) вида {"BYTES": "Base64 строка"} и должны быть преобразованы из Base64 вручную

TLS

Библиотека поддерживает работу в режиме TLS. Для его включения необходимо сформировать настройки TLS при помощи функции ПолучитьНастройкиTls, и передать их как соответствующий параметр в функцию ОткрытьСоединение или одну из функций ORM, поддерживающих данный параметр. Если параметр TLS при вызове этих функций не передан, соединение инициализируется в незащищенном режиме

:::tip Настройки Tls могут быть установлены только в момент создания соединения: явного, при использовании функции ОткрытьСоединение или неявного, при передаче строки подключения в методы ORM.

Передача настроек Tls совместно с передачей уже созданного соединения в параметр Соединение будет проигнорирована :::