記事 Hiroshi Sato · 2020年11月16日 2m read ネームスペースやデータベースを作成するコマンドラインインタフェースとAPI これはInterSystems FAQ サイトの記事です。 Config.Configurationクラス、SYS.Databaseクラスのメソッドを使用して、ネームスペース・データベースの作成及び登録をターミナルから実行することができます。 以下はデータベースファル/CacheDB/AAA/cache.datを作成し、構成ファイル(cache.cpf)にデータベース AAA、及び、ネームスペースAAAの登録を行う一連の実行例です。*実行は、%SYSネームスペースで行って下さい。* #API #ObjectScript #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 245
記事 Toshihiko Minamoto · 2021年1月11日 4m read データ変更の追跡 - 監査ログ - (2/2) 前回の記事では、データの変更を簡単に記録できる方法をお見せしました。 今回は、監査ログが記録されるデータ構造と監査データを記録する「Audit Abstract クラス」を変更しました。 また、データ構造は親構造と子構造に変更し、それぞれに「トランザクション」とそのトランザクションで「その値によって変更されたフィールド」を記録するテーブルが 2 つ設けられます。 新しいデータモデルをご覧ください。 「監査クラス」から変更したコードをご覧ください。 #ObjectScript #オブジェクトデータモデル #Caché 0 0 0 118
記事 Toshihiko Minamoto · 2021年3月15日 16m read InterSystems IRIS のグローバルを使ったトランザクション。 InterSystems IRIS では、情報を格納する「グローバル」というユニークなデータ構造をサポートしています。 基本的に、グローバルとは、マルチレベルのインデックスを持つ永続配列であり、トランザクションの実行やツリー構造のスピーディなトラバーサルといった機能が備えられているほか、ObjectScript として知られるプログラミング言語にも対応しています。 ここから先、少なくともコードサンプルについては、グローバルの基礎を理解されているという想定のもとに話しを進めていきます。 グローバルはデータを保存するための魔法の剣です パート1 グローバルはデータを保存するための魔法の剣ですパート2 - ツリー グローバルはデータを保存するための魔法の剣です パート3 - 疎な配列 #グローバル #データベース #データベースのトランザクション処理 #Caché #InterSystems IRIS 0 0 0 668
記事 Hiroshi Sato · 2021年2月24日 3m read ECPはどのように使うのが正しい? 以下のドキュメントでご紹介しています通り、ECPは分散キャッシュ用のアプリケーションサーバーを並列に増設することで、処理量に応じてスケールアウトすることを主目的として設計されています。 ECP機能紹介 従ってインターシステムズデータプラットフォーム上で稼働する複数のアプリケーション間の簡便なデータ交換手段としてECPをご使用いただくことは推奨していません。 以下その理由についてご説明します。 データ量の増加、処理量の増加に伴いスケーラビリティに関する要件も今後益々厳しくなる中、将来にわたってより良いスケーラビリティ性能を得られるようインターシステムズの開発部門は、より良いアルゴリズムの開発や処理のチューニングをECPに対して継続的に行っております。 その成果は順次最新バージョンに反映していきます。 #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 308
記事 Mihoko Iijima · 2021年3月26日 1m read IRISTEMP / CACHETEMP 上のグローバルのみを参照する方法について これは InterSystems FAQ サイトの記事です。 管理ポータルを使用して確認する場合は、以下の手順で参照できます。 管理ポータル > [システムエクスプローラ] > [グローバル] の画面で、ネームスペースではなく データベース を指定し、IRISTEMP / CACHETEMP データベースを選択すると参照できます。 #グローバル #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 201
記事 Toshihiko Minamoto · 2021年6月15日 11m read MonCaché - MongoDB としての Caché MonCaché — InterSystems Caché での MongoDB API 実装 免責事項:この記事は筆者の私見を反映したものであり、InterSystemsの公式見解とは関係ありません。 構想 プロジェクトの構想は、クライアント側のコードを変更せずに MongoDB の代わりに InterSystems Caché を使用できるように、ドキュメントを検索、保存、更新、および削除するための基本的な MongoDB(v2.4.9) API 機能を実装するところにあります。 #API #JSON #Node.js #オブジェクトデータモデル #データベース #データモデル #ドキュメントデータモデル(NoSQL) #Caché 0 0 0 84
記事 Mihoko Iijima · 2021年6月4日 3m read ユーザーが作成したクラス一覧をプログラムで取得する方法 これは InterSystems FAQ サイトの記事です。 ユーザーが作成したクラス定義は、クラス定義クラスの中に格納されます。 クラス定義一覧をプログラムから取得する方法として、「クラス定義クラス」を利用することができます。 メモ:クラス定義クラスとは、%Dictionary パッケージに含まれるクラス全般のことをさします。 #オブジェクトデータモデル #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 183
記事 Hiroshi Sato · 2021年7月27日 4m read スーパーサーバやTelnetポートでSSLを有効にする際のクライアントの設定 これは InterSystems FAQ サイトの記事です。 スーパーサーバでSSL/TLS接続を有効にする場合、クライアントアプリケーションは、使用するプロトコル、アクセスする証明書などを知るためにSSL設定が必要となります。 これらは下記のようにiniファイルを作成・編集することで設定可能です。 ==============================設定ファイルの場所============================== デフォルトでは、SSL設定ファイルはSSLdefs.iniと呼ばれ、32ビットの共通プログラムファイルのディレクトリ下の InterSystems\IRIS(またはInterSystems\Cache)ディレクトリに置く必要があります。 #システム管理 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 343
記事 Tomoko Furuzono · 2023年4月11日 3m read データ更新中にインデックスの再構築を実行する これは、InterSystems FAQサイトの記事です。データの登録/更新/削除を実行中でも、インデックスを再構築することは可能です。ただし、再構築中は更新途中の状態で参照されますので、専用ユーティリティを使用することをお勧めします。手順は以下の通りです。 追加予定のインデックス名をクエリオプティマイザから隠します。 インデックス定義を追加し、再構築を実施します。 再構築が完了したら、追加したインデックスをオプティマイザに公開します。 実行例は以下の通りです。Sample.Person の Home_State(連絡先住所の州情報)カラムに対して標準インデックス HomeStateIdx を定義する目的での例で記載します。 1、追加予定のインデックス名を Caché のクエリオプティマイザから隠します。 #SQL #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 201
記事 Toshihiko Minamoto · 2022年3月8日 8m read Caché ObjectScriptによるExcelドキュメントの生成 InterSystemsを使用してExcelファイルを生成する方法はたくさんあります。ZENレポートやIRISレポート(Logiレポートまたは正式にはJReportsと呼ばれるレポート)のほか、サードパーティのJavaライブラリを使用するなど、可能性はほぼ無限です。 しかし、Caché ObjectScriptだけで単純なスプレッドシートを作成したい場合はどうでしょうか。 (サードパーティアプリケーションを使用せずに、です) 私の場合、大量の生データを含むレポート(金融関係の人たちが好むレポート)を生成する必要がありますが、私のZEN/IRISでは対応できません。私が呼ぶところの「ゼロバイトファイル」が生成され、基本的にJavaのメモリ不足となり、レポーティングサーバーに大きな負荷を生じてしまいます。 これは、Office Open XML(OOXML)を使って実現できます。 Office Open XML形式は、多数のXMLファイルで構成されるZIPパケージです。 つまり基本的には、これらのXMLファイルを生成してZIP圧縮し、.xslxに名前を変更すればよいのです。 それくらい単純です。 #ObjectScript #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 326
記事 Hiroshi Sato · 2022年8月8日 1m read コンソールログにメッセージを書く方法 これは InterSystems FAQ サイトの記事です。 コンソールログに任意のメッセージを書き込む方法として%SYS.System クラスの WriteToConsoleLog メソッドを使用することができます。 以下に例を示します。 %SYS>write ##class(%SYS.System).WriteToConsoleLog("xxxxx log message",0,0)1 WriteToConsoleLogメソッドに指定できるパラメータの詳細は、以下のドキュメントをご参照下さい。 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 88
質問 松川 幸久 · 2022年12月19日 VSCODEによるサーバCSPフォルダ内のHTML編集について こんにちは、普段はスタジオを使っているのですが、サーバCSPフォルダ内のHTMLファイルを編集する事があり、便利なのでたまにVSCODEを利用しています。以前はHTMLファイルも表示していたと思うのですが、何をやらかしたのかCSP,CSS,MACのみになりました。int,html,jsなどの他のファイルを表示する設定をご存知の方いらっしゃいましたらご教授お願い致します。 #開発環境 #Caché 0 2 0 144
InterSystems公式 Masahito Miura · 2023年3月28日 Caché と Ensemble のメンテナンス・リリース インターシステムズは、新旧すべての製品について、お客様に高品質な製品サポートを提供することをお約束します。Caché はリリースされて 25 年になります。製品リリースを重ねるに応じてそのサポートは進展されていきます。 #Caché #Ensemble #InterSystems公式 0 0 0 279
InterSystems公式 Seisuke Nakahashi · 2023年6月8日 7m read InterSystems サポートプラットフォーム最新情報 Q2-2023 InterSystems IRIS data platform がサポートするプラットフォームやフレームワークを取り巻く変更点について、みなさまから良く質問をいただきます。この記事では、サポート対象プラットフォームで最近おこなわれた変更点や今後予定されている変更点に関する情報を共有させていただきます。ただ、将来の予測は難しい側面があり、ロードマップは約束されたものではないということを十分ご理解くださいませ。 #Caché #InterSystems IRIS #InterSystems公式 0 0 0 238
記事 Megumi Kakechi · 2024年3月24日 2m read テーブル統計情報をエクスポートして別環境にインポートする方法 これは InterSystems FAQ サイトの記事です。 クエリパフォーマンスを左右するクエリプランは、テーブルチューニングを行った結果の統計情報を元に生成されます。 ある環境で期待したプランになったけれど、他の環境では意図したプランにならない場合、(期待したプランとなる)既存環境からテーブル統計情報をエクスポートして別の環境にインポートし、同じ統計情報をもとにしたクエリプランで実行することができます。 #SQL #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 26
記事 Toshihiko Minamoto · 2020年10月8日 18m read Ansible を使った Caché アプリケーションのプロビジョニング(パート 1) Ansible は Caché とアプリケーションコンポーネントをいかに迅速にデータプラットフォームのベンチマークにデプロイするかという課題を解決するのに役立ちました。 同じツールと方法をテストラボ、トレーニングシステム、開発環境、またはその他の環境の立ち上げも使うことができます。 顧客サイトにアプリケーションをデプロイする場合、デプロイの大部分を自動化し、アプリケーションのベストプラクティス標準に合わせてシステム、Caché、アプリケーションを確実に構成することができます。 #オープンソース #システム管理 #Caché 0 0 0 197
記事 Mihoko Iijima · 2020年9月29日 2m read SQLで最後に更新したIDを取得するには? これはInterSystems FAQ サイトの記事です。 LAST_IDENTITY() SQL関数を使用すると取得できます。※ この関数は、埋め込み SQL または ODBC 利用時に使用できます。ダイナミック SQL、SQL シェル、または管理ポータルの SQL インタフェースによる値には設定されません。 簡単な埋め込み SQL での例をご紹介します。 #ODBC #SQL #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 683
記事 Mihoko Iijima · 2020年10月25日 2m read %Net.HttpRequest クラスを使用して https のアクセスでエラーが発生したときに確認したいこと これはInterSystems FAQ サイトの記事です。 %Net.HttpRequest クラスの SSLConfiguration プロパティに SSL/TLS 構成の「クライアント」構成名が指定されているかご確認ください。 %Net.HttpRequest クラスを使用して、https の url にアクセスするためには、以下のドキュメントに記載されている SSL/TLS 構成 の「クライアント」構成を作成して指定した名前を SSLConfiguration プロパティに指定する必要があります。 SSL/TLS構成のクライアント構成方法 #SSL #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 312
記事 Mihoko Iijima · 2020年11月12日 3m read オンラインバックアップでのバックアップサイズを見積もる方法 これはInterSystems FAQ サイトの記事です。 システムルーチン ^DBSIZE を利用するとバックアップファイルサイズを見積もることができます(メモ1もご参照ください)。 ^DBSIZE は、データベース・バックアップ・リストに選択されたデータベースを対象に、フルバックアップ/累積バックアップ/差分バックアップそれぞれのファイルサイズを見積もります。 なお、データベース・バックアップ・リストは、管理ポータルの [システム管理] > [構成] > [データベースバックアップ] > [データベース・バックアップ・リスト] から作成します。 詳細については、下記ドキュメントもご参照ください。 #バックアップ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 217
記事 Mihoko Iijima · 2020年12月15日 1m read SOAP テストページで定義済メソッドが実行できないときの対処方法 これはInterSystems FAQ サイトの記事です。 デフォルトでは、セキュリティ脆弱性対応の観点でウェブサービス用テストページの実行を許可していません。 テスト目的等で利用する場合は、テストページへのアクセスを有効にする必要があり、以下グローバル変数のセットを %SYS ネームスペースで実行する必要があります。 set ^SYS("Security","CSP","AllowClass",0,"%SOAP.WebServiceInvoke")=1 set ^SYS("Security","CSP","AllowClass",0,"%SOAP.WebServiceInfo")=1 詳細については、以下のドキュメントもご参照下さい。 カタログおよびテスト・ページについて【IRIS】 #SOAP #セキュリティ #テスト #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 133
記事 Megumi Kakechi · 2021年1月6日 1m read Webサービスでエラー発生時にエラー詳細情報を取得する方法 これは InterSystems FAQ サイトの記事です Web サービス(SOAP)またはREST で IIS を経由してクライアントにエラー応答する際、既定では IISが生成するデフォルトのエラーページ( HTTP 500 エラー )が返されます。 SoapFaultなど、サーバ側で出力したエラーの詳細情報は返されません。 IIS7 以降、WebクライアントがWeb サービスの障害の詳細情報を取得するための設定オプションが追加されました。 HTTP ステータスコードがエラーの場合に、既存の応答をどうするかを existingResponse 属性で指定することができます。 こちらの値を、既定の Auto から PassThrough に変更することで、エラーの詳細情報が返されるように変更できます。※設定変更後、IISの再起動が必要です。 #REST API #SOAP #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 1.2K
記事 Mihoko Iijima · 2021年2月25日 2m read 【Caché ベース】トラブル発生時の情報収集方法(Caché / Ensemble / HealthConnect 編) これは InterSystems FAQ サイトの記事です 復旧を優先される場合を除き 【トラブル発生状態のまま】弊社サポートセンターまでご連絡ください。 その際、専用ツールを利用して情報収集いただくことで(所要時間約 5分)、サポートセンターによる状況確認がスムーズに行えます。 ツール使用方法については、PDF または以下ビデオでご紹介しています。 #システム管理 #ツール #ビデオ #Caché #Ensemble #HealthShare 0 0 0 132
記事 Hiroshi Sato · 2021年10月26日 1m read %付きWebページを開くとエラーになる場合の対処法。 これは、InterSystems FAQサイトの記事です。InterSystems 製品の管理ツールやWebページのセキュリティ強化のため、%付きのWebページ(例:管理ポータル上のユニットテストポータル、Webサービスクラスのテスト画面)に対するアクセスがより効率的に制御できるよう、新しいルールが追加されました。 これによりデフォルトで参照可能なページ以外については、明示的に参照許可を設定する必要があり、設定しない場合参照エラーとなります。 以下のドキュメントをご参照いただき、必要に応じて参照許可を設定するようにしてください。 %CSP ページへのアプリケーション・アクセスの制御について Webサービスクラスのテスト画面の場合は、以下をご覧ください。 #CSP #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 114
記事 Mihoko Iijima · 2021年3月26日 2m read Linux のシェルスクリプトでルーチンやメソッドの戻り値を取得する方法 これは InterSystems FAQ サイトの記事です。 Linux で シェルスクリプト(shell script) からルーチンやメソッドを実行し戻り値を取得するには、iris コマンドを使用します。 詳細はドキュメント「インスタンスの接続について」 をご参照ください。 コマンド記述例は以下の通りです。 iris session インスタンス名 -U ネームスペース名 "実行ルーチン・メソッド" #システム管理 #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 1K
記事 Hiroshi Sato · 2021年10月7日 2m read ジャーナルファイルの内容を管理ポータル以外で参照する方法 これは InterSystems FAQ サイトの記事です。ジャーナルファイルのサイズが大きすぎて、管理ポータルで検索やフィルタリング等できない場合、以下の2つの方法で参照することができます。 ① ^JRNDUMP ユーティリティを使用する方法② プログラムで参照する方法 ============================================================ ① ^JRNDUMP ユーティリティを使用する方法 例えば、グローバル参照 ^ABC を含むジャーナルファイルのすべてのレコードを選択する場合は、以下のようになります。 ※以下、すべてのコマンドは %SYS ネームスペースで実行してください。 DO SELECT^JRNDUMP("C:\MyCache\mgr\journal\YYYYMMDD.001","","","^ABC",1) #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 274
記事 Megumi Kakechi · 2021年6月14日 2m read %付ルーチンインポートの際に <PROTECT> エラーが発生した場合の対処方法 これは InterSystems FAQ サイトの記事です。 <PROTECT> エラーを解消するには、システム全体のライブラリデータベース(※)の読み込み専用属性を外します。 ※ InterSystems IRIS の場合は IRISLIB、Caché/Ensemble/HealthShare(Cachéベース) の場合は CACHELIB ルーチンのインポートが完了しましたら、読み込み専用に忘れずに戻すようにしてください。 【バージョン2013.1~】[管理ポータル] > [システム管理] > [構成] > [システム構成] > [ローカルデータベース]データベース名のリンクから「読み込み専用でマウント」のチェックを外します。 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 136
記事 Hiroshi Sato · 2022年3月23日 1m read ObjectScript言語でイメージファイルをWEBサーバからダウンロードする方法 これは InterSystems FAQ サイトの記事です。 以下のコードは、http://www.intersystems.com/images/intersystems-header-logo.gif をダウンロードし、c:\temp\test.jpgとしてファイルを保存する例になります。 #セキュリティ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 122
記事 Megumi Kakechi · 2021年8月11日 4m read ジャーナルファイルを削除する方法 これは InterSystems FAQ サイトの記事です。 ジャーナルファイルの削除は、自動削除と手動削除が選択できます。 「自動削除」については、以下2つの方法が選択できます。 A) タスクスケジュールを使用して指定時間に自動削除する方法B) オンラインバックアップ使用時、指定回数成功後に自動削除する方法 A) タスクスケジュールを使用して指定時間に自動削除する方法 インストール時デフォルトで登録されるタスクスケジュール「ジャーナルファイルの削除」を使用して自動削除します。自動削除を行う前に運用環境に合わせて適切な日数分ジャーナルを保持するよう、ジャーナルファイルの設定を修正します。 #システム管理 #ジャーナリング #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 907
記事 Mihoko Iijima · 2021年9月14日 1m read 管理ポータルから任意のSQL実行結果をCSVファイルに出力する方法 これは InterSystems FAQ サイトの記事です。 管理ポータルの SQL 画面(管理ポータル > システムエクスプローラ > SQL)で、任意の SQL を実行した後、結果の行数などが表示されいる行の右端にある「印刷」のリンクから、CSVファイル出力を選択できます。 「クエリ印刷」画面で「ファイルにエクスポート」をチェックすると「ファイル形式」の欄が表示されます。 形式に「CSV」を指定し、出力ファイル名を指定したあと「エクスポート」ボタンをクリックすると出力できます。 注意:古いバージョンでは正しくCSV出力が行えない場合もあります。新しいバージョンをぜひご利用ください。 #SQL #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 336
記事 Toshihiko Minamoto · 2021年12月21日 7m read データジャングルの視覚化 -- パート2 より多くのソースでより優れた出力を! 先週のディスカッションでは、1つのファイルのデータ入力に基づく単純なグラフを作成しました。 ご存知のように、解析して相関付けるデータファイルが複数あることがあります。 そこで今週は、perfmonデータを追加して読み込み、それを同じグラフにプロットする方法について学習しましょう。 生成したグラフをレポートやWebページで使用する可能性があるため、生成したグラフのエクスポート方法についても説明します。 Windowsのperfmonデータを読み込む 標準のpButtonsレポートから抽出されたperfmonデータは、少し独特なデータ形式です。 一見すると、かなり単純なCSVファイルで、 最初の行には列のヘッダーがあり、それ以降の行にはデータポイントが含まれています。 ただし、ここでの目的のために、値エントリーを囲む引用符をどうにかする必要があります。 標準的なアプローチを使用してファイルをPythonに解析すると、文字列オブジェクトの列ができてしまい、うまくグラフ化できません。 #Python #ツール #パフォーマンス #視覚化 #Caché 0 0 0 128