[an error occurred while processing this directive] [an error occurred while processing this directive]


プログラミング
逆引き
クライアントとの通信
VisMでの通信
Factoryでの通信
WebServiceでの通信
CSP (Cache' Server Pages)
Cache'SQL
設定・性能


【広告】









SQLserverからのコピー

Copy form MS-SQLserver

SQLserverのテーブルデータを、Cache'に取り込んでみます。

このページの例ではマイクロソフトのSQLserverのページにあるソリューションテンプレート「顧客管理」を使用しています。
   http://www.microsoft.com/japan/sql/downloads/CUSTDB2K.asp

リンク切れなどの場合はこちらからダウンロードしてください。



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.顧客」を右クリックして、テーブルのオープンを選択します。
テーブルの内容が表示され、移行されたことが確認できます。


他のテーブルも同様に表示できることを確認してください。



[an error occurred while processing this directive] [an error occurred while processing this directive]
2013/02/05Update