В статье будет рассмотрена возможность мониторинга база дынных по средствам встроенной в Zabbix поддержке ODBC, c использованием автообнаружения объектов.
Читать полностью »
Метка «odbc»
Zabbix: мониторинг базы данных Oracle через ODBC c использованием low level discovery
2014-06-16 в 7:11, admin, рубрики: linux, LLD, odbc, oracle, oracle database, oracle linux, oracle sql, zabbix, zabbix server, Серверное администрирование, системное администрирование, метки: LLD, odbc, oracle, oracle database, oracle linux, oracle sql, zabbix, zabbix serverSQL-доступ к NoSQL-данным: реализация SQL-процедуры в Caché с динамическим определением возвращаемых метаданных
2012-11-27 в 15:57, admin, рубрики: cache, cos, intersystems cache, jdbc, nosql, odbc, sql, Блог компании InterSystems, метки: cache, cos, InterSystems cache, jdbc, nosql, odbc, sql Как известно, Caché можно использовать как реляционную СУБД, в том числе через JDBC/ODBC драйверы, с возможностью исполнения произвольных SQL-запросов и вызова SQL-процедур.
Известно также, что все данные в Caché хранятся в многомерных разреженных массивах — глобалах. Это позволяет в случае недостаточной производительности отдельно взятой SQL-процедуры не использовать стандартный CachéSQL-движок, а переписать ее код исполнения на языке серверной бизнес-логики Caché ObjectScript (COS), в котором можно реализовать оптимальный алгоритм выполнения SQL-процедуры, часто используя более оптимальные NoSQL-структуры данных (глобалы).
Однако в стандартной библиотеке классов Caché существует одно ограничение: для SQL-процедур, в которых отбор выполняется самописным COS-кодом, необходимо определять набор возвращаемых полей на этапе компиляции — т.е. нет возможности динамически задать метаданные для SQL-процедуры, работающей с NoSQL структурами.
О том, как снять это ограничение, рассказано под катом.
Читать полностью »
Клиент Caché ODBC в Linux
2012-10-30 в 13:52, admin, рубрики: Ensemble, intersystems cache, linux, odbc, php5, Администрирование баз данных, Блог компании InterSystems, метки: Ensemble, InterSystems cache, linux, odbc, php5 Несколько лет назад заказчик, крупный медицинский центр федерального значения, поручил нам разработать софт, обслуживающий информационные киоски. Внешне киоск напоминает платёжный терминал (только без купюроприёмника), его основная функция, как следует из названия, — предоставление пациентам различной информации, такой как расписание приёма врачей, услуги и их стоимость, и так далее.
По понятным причинам для киоска потребовалось разработать упрощённый интерфейс пользователя, который было решено реализовать как web-приложение. Имея в штате опытных web-программистов, уверенно владеющих php, решили (для скорости) поручить им его написание, организовав связь с базой данных нашей медицинской системы. Рассматривалось 3 варианта взаимодействия:
- ODBC
- JDBC
- web-сервисы.
Web-программисты предпочли ODBC как наиболее простой с их точки зрения вариант, и альфа-версия киоска довольно быстро увидела свет. Однако вскоре выяснилось (surprise!), что php-код должен работать не под Windows, как это было у разработчика, а под Linux, несмотря на то, что в те годы наша медицинская система эксплуатировалась заказчиком на платформе Windows 2008. Чтобы «подружить» всех членов триады (Linux – ODBC-драйвер Caché — php5) потребовались определённые усилия. Последовательность проделанных действий я зафиксировал в виде наброска к данной статье, которую и предлагаю вашему вниманию.
Читать полностью »
Знакомство с "Caché SQL Gateway" для создания федеративных систем или мультибаз
2012-08-03 в 4:44, admin, рубрики: cache, dbms cache, intersystems cache, jdbc, odbc, sql, Блог компании InterSystems, разработка, субд Caché, метки: cache, dbms cache, InterSystems cache, jdbc, odbc, субд Caché В сложных комплексных системах часто встаёт вопрос интеграции данных из разных источников.
Такие системы получили название интегрированных, федеративных или мультибаз.
В СУБД Caché такая интеграция осуществляется с помощью специального шлюза (Caché SQL Gateway), который использует в своей основе ODBC/JDBC соединения к внешним источникам данных. Причём под источником в данном случае можно понимать не только СУБД, так как есть JDBC/ODBC драйвера для MS Excel, DBF, текстовых файлов, графических файлов, WMI и т.д.
Коротко, как задействовать Caché SQL Gateway:
Читать полностью »
UCS2 или UCS4? — pyodbc и работа с utf16 данными в MSSQL
2012-07-20 в 6:51, admin, рубрики: linux, odbc, python, virtualenv, Песочница, метки: linux, odbc, python, virtualenvПроблема
Для работы с базой данных MSSQL Server 2005 в кодировке UTF-16(UCS2) я использую скрипт, написанный на python. Этот скрипт использует для работы с базой данных следующий набор инструментов:
- unixODBC
- FreeTDS
- pyodbc
- sqlachemy
И тут появилась трудность: при получении строковых данных из базы (поля nvarchar, ntext) неправильно обрабатывается юникод.
Как выяснилось, установленный у меня питон был собран с UCS4 юникодом. Методы получения типа юникода в сборка python хорошо описаны в данном вопросе на stackoverflow. Т.е, если выполнить следующую строчку в терминале:
python -c "import sys;print 'UCS4' if sys.maxunicode > 65536 else 'UCS2'"
то мы получаем версию сборки юникода для python.В моем случае это было UCS4. Что это за собой тянет:
- unixODBC вызывая соответствующие функции работы с базой данных с аппендиксом W (например, SQLExecDirectW()), получает результаты. в которых один символ текста занимает 2 байта(UCS2)
- pyodbc получает результаты от ODBC-драйвера, и в свою очередь сохраняет результаты в переменную с типом unicode
- Таким образом 1 символ результата, по мнению pyodbc, составляет 4 байта(UCS4). Именно так и сохраняется результат. полученный из ODBC-драйвера.
Драйвер возвращает данные, в которых символ занимает 2 байта, а pyodbc переделывает эти данные так, что символ занимает 4 байта. Все бы хорошо, если бы было какое-либо преобразование, но данные просто сохраняются как массив байтов в переменную с типом unicode, что несет неприятные последствия: символ результата по-сути содержит 2 символа того результата, который вернул ODBC-драйвер.
Читать полностью »
Работа с SSL/TLS в СУБД Caché
2012-05-25 в 14:27, admin, рубрики: .net, Apache, cache, intersystems cache, java, odbc, openssl, SSL, web-разработка, Блог компании InterSystems, Веб-разработка, информационная безопасность, субд Caché, метки: .net, apache, cache, InterSystems cache, java, odbc, openssl, SSL, web-разработка, субд Caché
В данной статье будут рассмотрены лишь некоторые примеры установки безопасного соединения c СУБД Caché на основе SSL, а именно:
- настройка и включение SSL на стороне СУБД Caché;
- настройка SSL в Apache, встроенном в СУБД Caché;
- чтение данных из клиентского сертификата в веб-приложениях CSP/ZEN;
- подключение из .NET, используя SSL;
- подключение из .Java, используя SSL;
- настройка SSL в CSP-Шлюзе для установки безопасного соединения между веб-сервером и СУБД Caché;
- настройка SSL в ODBC.
Примечание: Другие примеры использования SSL совместно с СУБД Caché — зеркалирование, Telnet, TCP/IP (сокеты), веб-сервисы, Caché Studio и т.д. — вы можете найти в документации или техподдержке.
Для начала давайте сгенерируем собственно сами сертификаты: корневой (CA:Certificate Authority), серверный и клиентский.
Читать полностью »