私の顧客は、診療管理ソフトウェアを購入した歯科医院です。このソフトウェアは、患者データベース、スケジュール、およびあらゆる種類の医療記録を含む、ローカルサーバーにインストールされました。今、彼らは私に彼らのパッケージで提供されていない彼らのためにいくつかのユーティリティを書いて欲しいと思っています、そしてこれのために私はこのデータベースを照会する能力を必要とします。
ソフトウェアメーカー(Patterson / EagleSoft)のテクニカルサポートに電話してみましたが、私の質問に答えるのに十分なテクノロジーを理解している人を見つけるのは困難です。私の知る限り、彼らのソフトウェアにはAPIがなく、当然のことながら、彼らはDBに直接プログラムでクエリを実行する方法を教えてくれません。インタラクティブなクエリウィンドウがありますが、自動クエリを作成するのには明らかに適していません。彼らが許可するのは、どこかにSQL Server DBがあるということだけですが、それに接続するODBCドライバーはSQL Anywhereドライバーです(え?)。
そのため、サーバーを検索しましたが、データベースファイルが見つかりませんでした。次に、インストールによって、EagleSoftソフトウェアにのみ表示される独自の仮想マシンが作成されることを発見しました。しかし、彼らはDBを難読化のレイヤーで絶縁することに非常に優れていますが、ODBCドライバーを開いたままにしています。これは、実際にはSQLAnywhere接続です。
その魅力的で長い前文の後で、ここに私の質問があります。このODBC接続を介してどのクエリを実行し、DBにその構造について問い合わせることができますか?下にあるSQLServerDBの場合、sysobjectsテーブルを使用できますが、SQLAnywhereODBC接続を使用してMSSQLDBに接続する方法を完全には理解していません。そして、彼らが私に誤った情報を提供していて、それが実際にその下にあるSQL Anywhere DBである場合、DB構造を取得するために実行するクエリは何ですか?
そして、EagleSoft(または同様のプロプライエタリパッケージ)に実際にクエリを実行したことがある人が他にいる場合は、どのようにクエリを実行したかを教えてください。