Мой клиент - стоматологическая практика, купившая часть программного обеспечения для управления практикой. Это программное обеспечение было установлено на их локальном сервере, включая базу данных пациентов, расписание и все виды медицинских карт. Теперь они хотят, чтобы я написал для них некоторые утилиты, которые не включены в их пакет, и для этого мне нужна возможность запросить эту базу данных.
Я пытался позвонить в службу технической поддержки производителей программного обеспечения ( Patterson / EagleSoft ), и мне сложно найти кого-то, кто достаточно разбирается в технологии, чтобы ответить на мои вопросы. Насколько я могу судить, API для их программного обеспечения не существует, и по понятным причинам они не хотят сообщать мне, как запрашивать БД напрямую, программно. У них есть интерактивное окно запросов, но, очевидно, это плохо для написания автоматических запросов. Все, на что они пускают, это то, что где-то есть БД SQL Server, но драйверы ODBC для подключения к ней - это драйверы SQL Anywhere (да?).
Итак, я искал на сервере и не смог найти никаких файлов базы данных. Затем я обнаружил, что при установке создается некая проприетарная виртуальная машина, которая видна только программному обеспечению EagleSoft. Но хотя они очень хорошо изолировали свои БД в слоях запутывания, они оставили открытым драйвер ODBC, который действительно является соединением SQL Anywhere.
Теперь, после этой увлекательной и продолжительной преамбулы, у меня возникает вопрос: какие запросы я могу выполнить по этому соединению ODBC для опроса БД относительно ее структуры? Если это БД SQL Server, я мог бы использовать таблицу sysobjects, но я не совсем понимаю, как можно использовать соединение ODBC SQL Anywhere для подключения к БД MSSQL. И если они вводили меня в заблуждение и это действительно БД SQL Anywhere, какие запросы нужно выполнить, чтобы получить структуру БД?
И если есть еще кто-нибудь, кому удалось на самом деле запросить EagleSoft (или любой подобный проприетарный пакет) - скажите, пожалуйста, как вы это сделали!