IntersystemsCachéデータベースに基づく製品があります。クラス、スキーマ、テーブル、グローバルのみが表示されません。これらのグローバルからデータをエクスポートして「人間が読める構造」を取得するスマートな方法はありますか?
7 に答える
最初の質問は...Cachéのバージョンは何ですか?2番目の質問は...どのツールにアクセスできますか?ターミナル、スタジオ、管理ポータル??
データがテーブル/クラスにある場合は、少なくともODBCを介してデータにアクセスできる必要があります。テーブル/クラスがない場合、データはおそらくグローバルにあります。
データがグローバル(永続的なスパース配列ストレージ)にある場合、一般的なパターンに慣れていないと、データは少し奇妙に見える可能性があります。
グローバルにある場合でも、カスタムマップストレージを使用してクラスを定義し、SQLを介してテーブルのように表示できる場合があります。
キャッシュは非常に柔軟ですが、学習曲線が急になる可能性があります。:-(
Intersystems Cache のグローバルは、スキーマのないタイプのストレージであるため、「人間が読める」最適な形式は、システム管理ポータルのものです。
その他のオプションは次のとおりです。 * ターミナルでの zw コマンド * ターミナルでの d ^%G コマンド
Cache SMP を表示したり、Cache Studio を使用してデータベースに接続したりできますか? そこのどこかにコードが見つかると思います(クラスを使用していない場合は、少なくとも一連のルーチン)。SMP を使用してグローバルを参照することは、グローバルに含まれるデータセットに慣れるための良い方法です。ターミナル セッションから zw コマンドを使用して、グローバル ノードの内容を確認できます。
USER> zw ^GlobalName
http://docs.intersystems.com/cache20082/csp/docbook/DocBook.UI.Page.cls?KEY=RCOS_czwrite
あなたの状況についてもう少し情報を提供できますか?
グローバルの構造に応じて、それらのクラスを作成し、それらを指すようにストレージ マッピングを編集できます。それに基づいて、コンテンツを表示するためのレポート/(zen/csp) Web ページを作成できます。ただし、データの複雑さによっては、数時間から数か月かかる場合があります:/
ODBC はキャッシュで動作します。ODBC 接続を使用して、一連の空きテーブルやテキスト ファイルなどの別の構造にデータをエクスポートできます。
私の経験では、Navicat ツールを使用してデータベース Caché を MySQL スキーマまたは Postgre にエクスポートし、ODBC 経由でインポート ツールを使用して DB モデルを理解しました。