SQLserverからのコピー
Copy form MS-SQLserver
SQLserverのテーブルデータを、Cache'に取り込んでみます。
SQLserverのテーブル定義などの準備は、「顧客管理」サンプル付属の説明書を参照してください。
SQLserver上にこれらのテーブルが存在します。
クリックすると大きい画像を表示します
これらのテーブルをCache'に取り込みます。
プログラムから「データのインポートとエクスポート」を起動してください。
「データ変換サービス インポート/エクスポート ウィザード」が表示されます。
コピー元のSQLserverを指定してください。
コピー先のCache'serverを指定します。
変換先に「InterSystems ODBC」を選択します。
ユーザ/システムDSNに「CACHE USER」を選択します。
「テーブルのコピーまたはクエリの指定」では「変換元データベースからテーブルをコピー」を選択します。
「変換元テーブルとビューの選択」では、「全て選択」を押して、全てのテーブルとビューを移行対象にします。
テーブル表示部分の変換列の「...」というボタンをクリックすると、詳細な移行条件が設定出るのですが、省略します。
「パッケージの保存、スケジュール指定、及びレプリケート」では「すぐに実行」をチェックして次へ進みます。
完了画面が表示されます。
「完了」を押すと、変換処理がスタートします。
しばらくするとメッセージボックスが表示されて、変換処理が完了します。
Cache'メニューから「Objectアーキテクト」を起動します。
接続先を選択して「接続」ボタンを押します。
「User」の下にSQLserverで定義されていたテーブルがコピーされていることを確認できます。
「顧客」など定義をクリックすると、SQLserverで定義されていたフィールドがコピーされていることを確認できます。
さて、この例で「User」の下に「uvサポートリスト」などが存在しますが、これはSQLserverで定義されていたテーブルにこのようなものはありません。これはSQLserverで定義されていたビューです。これらの内容を見ると、ビューに対応する構造になっています。
しかし、実際にここにデータが格納されることはありませんし、格納すると同じ情報が何箇所にも存在することになります。そのため、これらのビューに由来するオブジェクトはここで削除することにします。ツリー上のオブジェクトを右クリックして削除を選択すると、削除できます。
このように、SQLserverからコピーする場合、ビューを移行する必要はありませんので、「データ変換サービス インポート/エクスポート ウィザード」の「変換元テーブルとビューの選択」ではテーブルのみ選択するのが良いでしょう。
ここまでで定義が正しくコピーされていることを確認しました。
では次にデータがコピーされていることを確認します。
Cache'メニューから「SQLマネージャ」を起動します。
接続先を選択して「接続」ボタンを押します。
画面が表示されたら、左側のツリーを USER→テーブル→SQLUser.顧客の順に展開します。
顧客テーブルの内容が表示されます。
ツリー上の「SQLUser.顧客」を右クリックして、テーブルのオープンを選択します。
テーブルの内容が表示され、移行されたことが確認できます。
他のテーブルも同様に表示できることを確認してください。
|