Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

201911 のの会@関数Talk 17th @function-talk-in-notesknows-workshop

62 Aufrufe

Veröffentlicht am

Notes/Dominoの@関数を取り上げながら、調べたこと、経験したことを雑談してゆきます。
第17回は@DbColumと@DbLookupについての3回目
併せて@DbName、@ReplicaId

Veröffentlicht in: Software
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

201911 のの会@関数Talk 17th @function-talk-in-notesknows-workshop

  1. 1. @ @ -notes knows community- 2019/11/06 ネオアクシス株式会社 阿部覚 (tw:) @abesat @関数Talk 第17回 公開版
  2. 2. @ @ 前回、前々回と、 @DbColumn, @DbLookupの お話しをしましたが、 @Db~で始まるといえば もう一つ知られた関数があるね、 と思いまして:
  3. 3. @ @ @DbNameの 1分雑談
  4. 4. @ @ @DbColumnや@DbLookupに比べれば シンプルな関数です IBMさんのヘルプIBMさんのヘルプ (☝ 11月上旬現在     まだ閲覧可能 )😅
  5. 5. @ @ ここで、 前回・前々回で、使用したサンプルフォームを 引き続き説明に用います 式 式の結果を表示する 表示用の計算結果フィールド 複数値は改行して表示
  6. 6. @ @ ローカルのDBで実施してみると こんな感じ サーバー内のDBで実施してみると こんな感じ サーバー名の部分は"”に サーバー名はCN= などのラベルがついた階層名に
  7. 7. @ @ DBアプリそのものを あらわす関数としては 他にこんなものもあります
  8. 8. @ @ @ReplicaIDの 1分雑談
  9. 9. @ @ @こちらもシンプルな関数です IBMさんのヘルプIBMさんのヘルプ
  10. 10. @ @ 実施してみると こんな感じ サーバー名はCN= などのラベルがついた階層名にレプリカIDはDBアプリ固有の識別番号 8桁:8桁の形式です 日時により自動生成されるのですが そのお話は機会があれば
  11. 11. @ @ Databaseプロパティでいうと こんな理解でいいかと思います @ReplicaIDに相当@ReplicaIDに相当 @DbNameに相当@DbNameに相当 ついでにここは@DbTitleに相当
  12. 12. @ @ と、ここで改めて「つづき」です
  13. 13. @ @ @DbColumn @DbLookup 引数ピックアップ篇その1
  14. 14. @ @ まだ、概略しかご紹介していない 各引数について もうすこし具体的に見ようと思います @DbColumn ( class : cache ; server : database ; view ; columnNumber ) @DbLookup ( class : cache ; server : database ; view ; key ; columnNumber または fieldName ; keywords )
  15. 15. @ @ @DbColumn ( class: cache ; server : database ; view ; columnNumber ) @DbLookup ( class: cache ; server : database ; view ; key ; columnNumber または fieldName ; keywords ) "Notes” または "” Dominoデータソース(つまりはNotes DBアプリ) を意味します "ODBC" Dominoではなく外部のリレーショナルデータベースなどを意味し ます。 "ODBC”を指定した場合はこの後の引数など含め、 関数の使い方が一変するので、 このTalkでは今のところお話の対象外と考えています
  16. 16. @ @ cacheは "” / "NoCache” / "ReCache” の3つから選択 この関数の実行結果を「覚えておくかどうか」の 指定です ✋私には"ReCache”の存在意義がいまいち不明 @DbColumn ( class : cache; server : database ; view ; columnNumber ) @DbLookup ( class : cache; server : database ; view ; key ; columnNumber または fieldName ; keywords ) 前々回にこう書きました
  17. 17. @ @ 改めて、こんな記事を確認しました ただし、リンクをクリックすると…           😭 HCLに移ったのかな? とりあえずはGoogleのキャッシュを見ます
  18. 18. @ @ IBMさんの記事IBMさんの記事 (☝ 消えてしまったけど    11月上旬現在、   Googleのキャッシュで閲覧可能 )😅 以下、キャッシュという言葉がGoogleさんと重なって まぎらわしいですが
  19. 19. @ @ IBMさんの記事IBMさんの記事 (☝ Googleさんのキャッシュ) "NoCache”で取得した結果はキャッシュされず、 "”で再利用できないから "ReCache”を作ったんですね
  20. 20. @ @ @DbLookupで、ビューの"MainKey”に対応する3列目の場所「代々木」を取得 ここで、ビューの文書を更新し、場所を「田町」に変えてしまいます すぐに同じ@DbLookupを繰り返した場合、"”はキャッシュを使うので「代々木」のまま でも、"NoCache”を使えば再検索するので「田町」を返します (11/6 のの会での実演を再現…)
  21. 21. @ @ ただし、キャッシュは変わらないので、"”に戻した@DbLookupは… でも、"Recache”なら、再検索して「田町」を返すだけでなく、キャッシュも変わるので、 次に"”を使った@DbLookupを行っても、変更されたキャッシュにより「田町」が返ります (11/6 のの会での実演を再現…)
  22. 22. @ @ @DbColumn ( class : cache ; server : database; view ; columnNumber ) @DbLookup ( class : cache ; server : database; view ; key ; columnNumber または fieldName ; keywords ) 引用するビューが どこの何というデータベースにあるのかを指定 自データベース内にあるのなら "”だけでも
  23. 23. @ @ 他のDBアプリを指定する例 サーバー名とファイル名を「:」でつないで指定するのが スタンダードだと思いますが 相手DBのレプリカIDを指定することも可能です どちらが合理的だと思いますか? また実際の開発ではこうした「ハードコード」は推奨されず 「変数」になることが多いです
  24. 24. @ @ 自DBアプリを指定するには これまで触れてきたように 自DBアプリ内のビューを検索する分には "” でよいです もちろん、他DBアプリと同様に 直接サーバー・ファイル名やレプリカIDを指定しても 動くでしょうけど わざわざそれをする必要はなく
  25. 25. @ @ 自DBアプリを指定するには ということは、内部的に自DBアプリの レプリカIDが入っているこれも一応OKみたいです ほかに、@DbNameを使った例もけっこう見かけます 内部的には サーバー名とファイル名を「:」でつないだ例と、同等ですね
  26. 26. @ @ 今回はここまでにさせていただき 🙏💦 view以下については、また改めて @DbColumn ( class : cache ; server : database ; view ; columnNumber ) @DbLookup ( class : cache ; server : database ; view ; key ; columnNumber または fieldName ; keywords )
  27. 27. @ @ ご清聴ありがとう ございました♥

×