Несколько дней назад встал вопрос о написании консольного приложения, которое будет работать в Linux CentOS 7 и взаимодействовать с MS SQL Server 2012. Мне очень нравится Qt и я решил, что воспользуюсь им для решения этой задачи. И если под Windows я достаточно быстро настроил необходимое окружение, то под Linux я столкнулся с проблемами, которые очень тяжело было решить с помощью гуглинга. Этому вопросу я посвятил полтора дня. Считаю полезным поделиться своим опытом, возможно кому-то это поможет сэкономить драгоценное время.
Читать полностью »
Рубрика «odbc»
Установка MS SQL ODBC Driver под Linux и сборка плагина для Qt 5.9
2017-07-18 в 8:59, admin, рубрики: c++, linux, Microsoft SQL Server, odbc, qt, qt5, unixodbc, Разработка под LinuxODBC Firebird Postgresql, выполнение запросов в Powershell
2016-10-24 в 16:03, admin, рубрики: odbc, powershellИногда у системных инженеров возникает необходимость получить определенный набор данных непосредственно из самой СУБД средствами Powershell. В данной статье хочу продемонстрировать два метода работы c firebird, postgresql через odbc драйвер и клиентскую библиотеку.
Начнем с firebird и работу с базой через ODBC драйвер, для начала нужно зарегистрировать в системе клиентскую библиотеку GDS32.DLL, ее разрядность должна быть такой же как и ODBC драйвера который должен быть установлен далее, скачать можно на сайте производителя, обязательно во время установки необходимо поставить галочку о регистрации библиотеки.
Далее устанавливаем сам ODBC, который также берем на сайте производителя, не забываем что его разрядность должна соответствовать разрядности ранее установленного клиента. Теперь собственно сам powershell скрипт, за его основу был взят пример на C# для postgresql.
Как работать с MS Access в Linux
2016-09-08 в 8:13, admin, рубрики: fdw, gdal/ogr, mdb, Microsoft Access, ms access, odbc, postgresql, ruby, ruby on rails, древнее зло, Разработка под Linux, тяжёлое наследиеМногие пользуются Аксесом… даже в продакшене… даже по сей день. Посему, случаются моменты, когда кому-то захочется подключиться к этой БД из какого-нибудь неожиданного места. Например с юниксового сервера. Конечно же, подключиться захочется не просто так, а для использования данных из Аксеса в веб-приложении. И, без всякого сомнения, появится желание использовать эти данные совместно с информацией из других, более современных БД.
Итак, я хочу описать несколько подходов к общению с существом, называемым MS Access. Посему, исходная задача такова: установить соединение с MS Access из Ruby on Rails приложения или из PostgreSQL (используя FDW) и получить доступ к данным, желательно, в реальном времени.
Ниже я постараюсь собрать всю информацию, относящуюся к вышеописанно задаче и попытаюсь описать нетривиальные случа и подводные табуретки. Надеюсь, это описание сэкономит время кому-нибудь… либо просто, в некоторой степени, позабавит уважаемую публику.
Читать полностью »
Как легко и просто научить ваш Asterisk звонить через нужного оператора
2014-11-25 в 12:18, admin, рубрики: asterisk, ip-телефония, odbcПриветствую тебя, %username%!
Сегодня мне хотелось бы поделиться решением, позволяющим научить ваш Asterisk автоматически маршрутизировать звонки по соответствующим направлениям, не прибегая к громоздким регулярным выражениям.
Практика показывает, что все больше и больше компаний начинают задумываться о своих расходах на связь. Львиную часть расходов при этом составляют вызовы на мобильные номера. Отсюда и родилась задача обрабатывать исходящие вызовы и направлять через ту линию, где звонок будет совершен бесплатно или за наименьшую стоимость.
Читать полностью »
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 server В статье будет рассмотрена возможность мониторинга база дынных по средствам встроенной в Zabbix поддержке ODBC, c использованием автообнаружения объектов.
Читать полностью »
SQL-доступ к 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), серверный и клиентский.
Читать полностью »