Блог по адаптації Joomla 4 та 5

 

Підключення до зовнішньої бази даних MSSQL

 

Як відомо, Joomla 4 та 5 використовує для свого функціонування такі види SQL-баз даних:

- MySQL

- MariaDB

- PostgreSQL

Усі вони безкоштовні, і якщо ви розглядаєте яку базу даних використовувати для Joomla, то логічніше використовувати вже існуючий у вас на підприємстві SQL-server. Щоб всі бази даних працювали в одному «зоопарку». Але бувають різні обставини, ситуації, і ви не взмозі мігрувати всі бази даних в єдине сховище, тоді можу порадувати вас такою можливістю, що існує «під капотом» Joomla 4x , це можливість підключення до зовнішніх баз даних різних видів SQL-серверів. Досліджуючи існуючі можливості Joomla, я побачив такі типи драйверів:

 

Це додатково Azur, SQLite та MS SQL.

Маю задачу підключитись до бази даних 1с і витягнути зміст деяких довідників, використовуючи при цьому Joomla. До речі, якщо вдасться, то можна читати будь-який довідник, або документ.

Для даної мети вам знадобиться драйвер ODBC та PDO (звідси: https://learn.microsoft.com/ru-ru/sql/connect/php/system-requirements-for-the-php-sql-driver?view=sql-server-ver16&redirectedfrom=MSDN).

В джерелах даних потрібно буде налаштувати підключення ODBC до MS SQL-сервера.

PDO-драйвер буде визивати підключення ODBC, і вже взаємодіяти безпосередньо з сервером баз даних.

(*по секрету скажу, що можливо працювати з сервером напряму через ODBC, але мета даної статті використовувати існуючі можливості  Joomla 4x)

Після багатьох спроб підключитися до MS SQL-сервера, Joomla сповіщала про невдалу спробу підключення.

Мені довелось провести багато часу у відладчику, щоб дослідити можливі причини помилки підключення sqlsrv_connect. Причиною став параметр шифрування, що в останніх версіях драйверів став обов`язковим. Якщо у вас так само виникає помилка підключення, додайте у параметри підключення драйверу SqlsrvDriver.php, у функції connect() рядок #116 (масив параметрів $config) : 'TrustServerCertificate' => true.

В мене тепер виконується з`єднання з сервером MS SQL і я можу прочитати дані будь-якої таблиці.

Що ж, це надає для нас можливості щодо формування будь-яких аналітичних звітів.

Далі  буде.

Блог нашого проекту бухгалтерського обліку