IBM Lotus Notes(6)SQL Serverとの連携

Lotus NotesでSQL Serverとの連携をテストしてみたので、忘れないうちにメモっておきます。

SQL Serverとの連携方法としては下記の各種方法が有るようです。

参考にした本は「Lotus Domino Designer 8.5 開発者ガイド」(秀和システム)で、
全部テストするのも大変なので、便利そうなDECS、DCRを試してみました。

・@DBコマンド(ODBCデータソースへの@DBコマンド)
・LS:DO(LotusScript Data Object)
・DCR(Data Connction Resources)
・DECS(Domino Enterprise Connection Service)
・LC(LotusScript Extensions for Lotus Connectors)
・LEI(Lotus Enterprise Integrator)
・Notes SQL(IBM Lotus Notes SQL Driver)

やりたいことは...

 「ノーツでSQL Serverのデータを参照、修正する」

連携の仕方は、大雑把に書くと下記の流れになります。

 1)SQL Serverとの接続設定            ・・・ コネクション定義
 2)ノーツ・フィールドとSQL Serverの列の対応定義 ・・・ アクティビティ定義、外部リソース参照
 3)SQL Server側のキーデータをノーツに反映する  ・・・ 一括キーセット,イニシャル・キーズ
 4)連携実施                   ・・・ アクティビティのスタート、DCRの有効化

最初、「アクティビティ」ってなにか全く分からなかったんですが、
要は、ノーツの「フィールド」に、SQL Serverのどの「列」を対応させるかを定義することでした。
開発者ガイドで、もうちょっと親切に解説してもらえると助かったですが...

で、試した結果ですが...

 DECS : 「一括キーセット」、及び、ノーツ側から、「追加、変更、削除」とも実施できました

 DCR : 「一括キーセット」は不可で、ノーツ側から、「追加、変更、削除」は実施できました

◆わかったこと

1)コネクション定義

  ・SQL Server用のODBCドライバーはIBMから無料で提供されていた(PAオンラインからダウンロード)

    IBM Lotus DataDirect Connect for ODBC 5.3.2 for Windows English (CZ5T6EN)

   マイクロソフトのドライバーも問題なく動きましたが、なにかあった際のIBMからのサポート
   が受けられないので、IBM提供のドライバーを使うのが無難と思います


  ・OLEを使ったほうが便利

   OLEならばODBCみたいにデータソースの定義が不要で、コネクション定義が作成出来てしまいます。
   また、OLEのほうが、エラーメッセージが分かりやすく書かれているのでお勧めです。

   定義の仕方は、データソースが、「サーバー名¥インスタンス名」、カタログは「データベース名」に注意すれば
   あっさり接続出来ると思います。


2)連携実施

  ・DCRの「外部レコードのインポート」は不可

    「一括キーセット」の為の「外部レコードのインポート」は、現時点、問題報告番号YCYC5MPBFTの問題により
    「分離レベルおよびその強化はサポートされていません。」のエラーとなり使えません。

  ・SQL Server側からの変更が反映できない

    DECS,DCRともにノーツ側からのSQL Serverのデータの追加、変更、削除は問題ないのですが、
    SQL Serverをノーツ以外で使用している場合、SQL Server側の変更をノーツに反映するのは大変です。
    変更のたびに「一括キーセット」を行うのはちょっと実用的ではありません。
    とりあえず、やりたかったことはできたので、のちのち良い方法がないか考えていきたいと思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です