8

私の顧客は、診療管理ソフトウェアを購入した歯科医院です。このソフトウェアは、患者データベース、スケジュール、およびあらゆる種類の医療記録を含む、ローカルサーバーにインストールされました。今、彼らは私に彼らのパッケージで提供されていない彼らのためにいくつかのユーティリティを書いて欲しいと思っています、そしてこれのために私はこのデータベースを照会する能力を必要とします。

ソフトウェアメーカー(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(または同様のプロプライエタリパッケージ)に実際にクエリを実行したことがある人が他にいる場合は、どのようにクエリを実行したかを教えてください。

4

4 に答える 4

8

最も簡単な方法は、を使用して小さなアプリを作成OdbcDbConnectionし、ソフトウェアとともにインストールされたDSNを使用して接続することでした。それが実際にそのすべての下にあるMS-SQLデータベースであることを明らかにするために、1回の調査'select * from sysobjects'が必要でした。そこから始めてよかったです!

于 2010-12-14T18:27:46.573 に答える
1

私はsquirelのようなツールを使用します。これは、データベースを参照して、このgoogle結果で「SQLAnywhere」が成功したかどうかを確認するのに最適です。

http://blog.gmane.org/gmane.comp.db.squirrel-sql.users/month=20091001

他の人がこれを行うためにリスを得ることができたことを示しています。使い方はとても簡単です...もちろん、接続を機能させることができたと仮定します。

于 2010-12-12T09:39:29.673 に答える
1

役立つ可能性のあるいくつかのツールは、SQLWorkbenchDjangoです。私は SQLWorkbench を使用して実稼働システムから Postgres データベースにデータをコピーし、実稼働環境にダメージを与えることなくハッキングできるようにしています。次に、Django の inspectdb を使用して、データベース環境のモデルを生成します。そこから、データベースとテンプレートに「ビュー」を作成して、必要なものを正確に表示するのは簡単です。

更新: Eaglesoft 19 の時点で、Patterson はパスワードでデータベースを保護しているようで、ユーザーがアクセス料を支払わずにデータにアクセスするのを防ぐために最善を尽くしています。

更新: 前に述べたように、Eaglesoft 19 にはロックダウン バージョンのデータベースがあります。読み取り専用アクセスの場合は、Patterson に電話して、サーバーにインストールされている「Technical Reference」ツールの「Database Admin」セクションへのパスワードを尋ねることができます。そこに入ると、データベースにアクセスするための読み取り専用パスワードを設定するオプションがあります。ユーザー名は「dba」で、設定したパスワードは何でも構いません。アクセスを許可するまでに多少のやり取りが必要な場合もありますが、私の解決策は、「10 年以上にわたって患者データを Eaglesoft に入れてきており、常にデータベースにアクセスしていました。今、あなたはそれを制限していて、私たちが支払わなければならないと言っていますアクセスのために。私たちのデータを人質にして金をゆすり取ろうとしているようですね。これはおそらく、当社の法務チームが処理する必要があります。」

于 2016-08-03T01:07:14.937 に答える
0

eaglesoft データベースのデータにアクセスして操作するために、独自の PHP 駆動型 Web サイトを作成しました。ローカル DNS エントリへの odbc 接続を作成するだけで完了です。データベース構造を確認するには、eaglesoft または高度なクエリ ツールに含まれているテクニカル リファレンスを使用できます。

于 2013-02-11T03:01:38.447 に答える