6.3 KiB
Vendored
id, sidebar_class_name, keywords
| id | sidebar_class_name | keywords | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| MySQL | 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" />
Узнать больше: "Об использовании 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 совместно с передачей уже созданного соединения в параметр Соединение будет проигнорирована :::