記事 Tomoko Furuzono · 10 hr 前 1m read ジャーナルのON/OFFを、コマンドで操作する方法 これはInterSystems FAQサイトの記事です。 大量の更新を行うプログラムで、処理途中に何らかの問題が発生してもデータを初期化して再度実行することができる状況では、プロセスレベルでジャーナリングを無効/有効に変更することが可能です。 ※但し、トランザクションのロールバックにはジャーナルが必要ですので、ロールバックを正しく動作させたい場合にはこの方法は使用しないでください。 以下のコマンドを使用します。更新処理の開始と終了(またエラー処理での終了)の際に以下のコマンドを追加します。 #ジャーナリング #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 6
記事 Tomoko Furuzono · 2025年3月19日 2m read CSP(REST)でのトラブルシューティングに使用できるツール これはInterSystems FAQサイトの記事です。 ISCLOG を有効にすることにより、CSP(REST)アクセスに関連するログ情報を収集できます。これを使用して CSP(REST)でのトラブル時の調査を行うことが可能です。 手順は以下のとおりです。 ① ログをクリアします。 #CSP #REST API #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 1 7
記事 Tomoko Furuzono · 2025年3月19日 1m read オンラインバックアップの保存先 これはInterSystems FAQサイトの記事です。 質問: オンラインバックアップの保存先にネットワークドライブ(NAS等)を指定することはできますか? 回答: バックアップの保存先に指定することはできますが、推奨はしておりません。 推奨しない理由は、オンラインバックアップの最終フェーズにDBアクセスを禁止して処理が実行されますが、 このとき、万一ネットワークエラー等でバックアップ処理がハングアップすることがあれば、システム全体に影響が及ぶリスクがあるからです。 #システム管理 #バックアップ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 5
記事 Hiroshi Sato · 2025年3月17日 2m read 既存のネームスペースで、インターオペラビリティ機能を無効にする方法 これは InterSystems FAQ サイトの記事です。 ネームスペースを管理ポータルで作成する際に、デフォルトでは、『相互運用プロダクション用にネームスペースを有効化』にチェックがついているため、そのチェックを意図的に外さない限り、新規作成したネームスペースは、インターオペラビリティ機能が有効になっています。 この機能が有効であることによる実用上の弊害(パフォーマンス等に影響する)は、特にありませんが、管理ポータル上のクラス表示にこの機能に関連するクラスが先に表示されて、ユーザー作成クラスの表示に余計な操作が必要になる等の操作上の余分な手間が発生する場合があります。 管理ポータル上でこの設定を無効にするメニューは用意されていませんが、以下の手順で無効化することができます。 - 相互運用性ネームスペースの無効化 #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 6
記事 Seisuke Nakahashi · 2022年5月31日 6m read OAuth 2.0 を利用して IRIS から Gmail を送信する 2022年5月30日より、外部アプリからGmailを送信するには OAuth 2.0が必須になりました (リンク) そのため、IRIS から Gmail を送信したい 場合は、今後は OAuth 2.0 を利用して Gmailアカウントに接続する 必要があります。 そこで、IRIS コード ObjectScript を使って、OAuth 2.0 でGmailアカウントに接続&メール送信するサンプルを作成しました。 ぜひご活用ください! #OAuth2 #ObjectScript #InterSystems IRIS 4 1 0 1.2K
記事 Hiroshi Sato · 2025年3月11日 1m read ODBC経由で取得したデータが途切れる場合の対処法 これは InterSystems FAQ サイトの記事です。 8192文字を超える文字列をODBC経由で取得した場合に特定のODBCクライアントとの組み合わせにおいて文字列が途切れて取得されるケースが報告されています。 このような状況が発生した場合、該当するODBCデータソースの設定画面でUnicode SQLタイプをチェックすることで問題が解消されることがわかっています。 #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 14
記事 Hiroshi Sato · 2025年3月10日 1m read select count(*)の応答に時間がかかる、あるいはタイムアウトが発生する場合の対処法について これは InterSystems FAQ サイトの記事です。 大量のレコードが含まれるテーブルに対して、select count(*) from テーブル名の応答が遅い、または応答がタイムアウトする場合には、ビットマップ・エクステント・インデックスを追加することで問題を解消することができます。 ビットマップ・エクステント・インデックスを追加する方法は、以下をご参照ください。 ビットマップ・エクステント・インデックスの追加方法 クラス定義に以下のような定義を行うことで、ビットマップ・エクステント・インデックスを追加することもできます。 #ヒントとコツ #リレーショナルテーブル #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 17
記事 Hiroshi Sato · 2025年3月4日 2m read ObjectScriptを使用し、ローカルファイルを他のサーバーにアップロード(POST)する方法 これは InterSystems FAQ サイトの記事です。 ObjectScriptの%Netパッケージのライブラリクラスを利用して、ファイルを他のサーバーにアップロードすることができます。 以下のCurl コマンドと同じことを ObjectScript で実現する方法を紹介します。 curl -X POST "http://localhost/api/upload?a=123&b=999" -F file=@"C:/temp/a.csv" クライアントのObjectScriptコードを以下の様に作成します。 #API #CSV #ObjectScript #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 16
記事 Hiroshi Sato · 2025年3月4日 4m read 計算プロパティの使用方法2 これは InterSystems FAQ サイトの記事です。 計算プロパティを定義する際に利用可能なキーワードが複数あります。 詳細は、以下をご参照ください。 計算プロパティの定義 実際のこれらのキーワードの関連性は、少々複雑ですので具体的なコードを作成して動作を確認してみます。 以下のようなクラス定義を作成します。(プロパティとインデックス定義のみ表示します) 完全なクラス定義は以下より、ダウンロードできます。 サンプルクラス定義 #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 18
記事 Hiroshi Sato · 2025年3月3日 1m read 計算プロパティの使用方法1 これは InterSystems FAQ サイトの記事です。 IRISには、データ項目の値を実体として持たずに、何らかの演算処理の結果として提供する機能があります。 これを計算プロパティまたは計算フィールドといいます。 計算プロパティを定義するためには、最低限以下の手順を実行します。 プロパティ定義にSqlComputedキーワードを含めます。 プロパティ定義にSqlComputedCodeを含めて、値を算出するための処理ロジックとして含めます。 または、SqlComputedCodeを含めずに、代わりに<プロパティ名>Computationという名前のクラスメソッドを記述します。 以下は、Age(年齢)プロパティを計算プロパティとして定義した例になります。 #ObjectScript #SQL #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 19
記事 Mihoko Iijima · 2025年2月27日 1m read ソリューションセミナー:アーカイブビデオ一覧 皆さん、こんにちは! 2025年2月から開始しました「InterSystems ソリューションセミナー」アーカイブビデオのまとめページを作成しました。 ソリューションセミナーでは、企業の様々な課題に対する解決方法と、それを InterSystems 製品を活用してどのように解決するかについて各回テーマを設けご紹介してまいります。 2025/2/20 開催「開発効率化とシステム統合の実現:InterSystems IRIS data platform による、次世代システム基盤の構築」 次回開催:2025/4/24 詳細は後日公開いたします。 ぜひご参照ください! #Webセミナー #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 15
記事 Mihoko Iijima · 2023年10月10日 15m read 複雑なJSONの生成に便利な「JSONテンプレートエンジン」の使い方ご紹介 開発者の皆さん、こんにちは。 この記事では、複雑なJSON形式の文書を「JSONテンプレートエンジン」を利用して生成させる方法をご紹介します。 「JSONテンプレートエンジン」については、6月のウェビナーで使用例をご紹介しましたが、JSON生成対象として医療情報交換標準規格であるFHIRリソースのJSON(例:Patientリソース)を例に解説しています。 このエンジンは、JSON形式の文書であればどのような種類のデータでもご利用いただけますので、一般的なJSON形式の文書を利用して使い方をご紹介します。 #JSON #ObjectScript #オブジェクトデータモデル #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 1 7 0 1.1K
記事 Toshihiko Minamoto · 2025年2月27日 7m read Iris における Flask アプリケーションの実行 説明 これは、ネイティブウェブアプリケーションとして IRIS にデプロイできる Flask アプリケーションのテンプレートです。 インストール リポジトリをクローンする 仮想環境を作成する 要件をインストールする docker-compose ファイルを実行する git clone cd iris-flask-template python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt docker-compose up 使用法 ベース URL は http://localhost:53795/flask/ です。 #CSP #Docker #Git #JSON #Python #SQL #セキュリティ #フレームワーク #相互運用性 #InterSystems IRIS Open Exchange app 0 0 0 17
記事 Megumi Kakechi · 2025年2月26日 2m read 埋め込みSQL &SQL( select xxx into :var from ... ) としたとき、出力ホスト変数varに意図しない値が格納される場合があります これは InterSystems FAQ サイトの記事です。埋め込みSQLの出力ホスト変数は、SQLCODE=0(埋め込みSQL正常終了)の場合のみ、正しい値が設定されていることが保証されます。 InterSystems製品のバージョンによっては、SQLCODEが0以外の場合(該当データがない100やエラー等)で値が設定される場合もありますが、その値は無効です。 特に、IRIS2021.1以降のバージョンでは、SQLCODE=100 の場合、INTO 節で指定された出力ホスト変数は NULL("") にクリアされますので注意が必要です。 #SQL #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 18
記事 Hiroshi Sato · 2025年2月25日 2m read クライアントからPOSTされた ファイルを受け取るRESTサービスを作成する方法 これは InterSystems FAQ サイトの記事です。 以下の様なCurl コマンドで送信したファイルを受け取るRESTサービスを作成する方法を紹介します。 curl -X POST "http://localhost/api/upload?a=123&b=999" -F file=@"C:/temp/a.csv" クライアントからPOSTされたファイルを受け取ってサーバーに保存するRESTサービスは以下の様に作成します。 #REST API #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 17
記事 Toshihiko Minamoto · 2025年2月20日 4m read WSGI サポートの概要 コンテキスト ウェブサーバーゲートウェイインターフェース(WSGI)は、ウェブサーバーがリクエストを Python プログラミング言語で記述されたウェブアプリケーションまたはフレームワークに転送するための単純な呼び出し規則です。 WSGI は PEP 3333 で詳しく説明された Python 規格です。 🤔 定義は良いとして、IRIS との関連性は何でしょうか? IRIS 2024.2+ の新機能により、直接 IRIS で WSGI アプリケーションを実行できます。 この機能は、IRIS を他の Python フレームワークとライブラリに統合する優れた方法です。 #GitHub #Python #REST API #名前空間 #管理ポータル #InterSystems IRIS 0 0 0 20
記事 Megumi Kakechi · 2025年2月17日 3m read 整合性チェックの目安の時間や動作状況の確認、途中で停止する方法について これは InterSystems FAQ サイトの記事です。 1. 整合性チェックの目安の時間 整合性チェックの目安の時間は、環境により異なってきます。ディスク速度やDBサイズに大きく依存してきます。 同じディスク上に置かれた比較的サイズの小さなDATでまず実施して、サイズと経過時刻からおおよその時刻を推測してください。 また、整合性チェックの方法によって要する時間が変わってきます。 詳細は参考記事で紹介しております「整合性チェックの各方法の違いについて」をご覧ください。 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 30
記事 Hiroshi Sato · 2025年2月12日 1m read インターオペラビリティの処理の中でログ出力を実装する方法 これは InterSystems FAQ サイトの記事です。 インターオペラビリティ機能を使用してビジネスホストのビジネスロジックを実装する際に、デバッグ等の目的でログ出力を行うための専用マクロが用意されているので、ご紹介します。 以下のマクロが用意されています。 #相互運用性 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 25
記事 Megumi Kakechi · 2025年2月4日 4m read 整合性チェックの各方法の違いについて これは InterSystems FAQ サイトの記事です。 整合性チェックを行う場合、管理ポータルやタスクマネージャーから行う方法と、ターミナルから ^Integrity ユーティリティを使用して行う方法があります。 こちらのトピックでは、それぞれの違いをご説明します。 管理ポータル、整合性チェックタスク、および SYS.Database の IntegrityCheck メソッドから行う方法 こちらの方法は、選択した複数のデータベースや、1 つのデータベースに格納された選択可能な複数のグローバルを対象に整合性をチェックを行います。 管理ポータル:[システムオペレーション] > [データベース] 整合性チェック・ボタン※チェックを行いたいネームスペース、必要に応じてグローバルを選択し、実行・ボタンをクリック #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 50
InterSystems公式 Megumi Kakechi · 2025年1月29日 1m read InterSystems 製品 2024.1.3 リリースのご案内 インターシステムズは、InterSystems IRIS、InterSystems IRIS for Health、HealthShare Health Connect のメンテナンスバージョン 2024.1.3 をリリースしました。 ✅ 2024.1.3 2024.1.3 は、最近発行された以下の警告の修正を含む、以前のリリース2024.1.x のバグフィックスを提供します。警告:特定の $List 操作でデータベースとジャーナルファイルに不正なデータが作成される 詳細な情報は、以下のページをご参照ください(すべて英語版です): #リリース #InterSystems IRIS #InterSystems IRIS for Health #InterSystems公式 0 0 0 28
記事 Megumi Kakechi · 2022年5月31日 4m read Embedded Python で IRIS グローバル($LB) を Pandas Dataframe に変換する方法 InterSystems IRIS 2021.2 のバージョンより、Embedded Python を使用できるようになりました。 Embedded Python で Excel のデータを IRIS グローバルに格納する方法 では pandas.DataFrame のデータを InterSystems IRIS グローバルに保存する方法をご紹介しました。こちらの記事では、その逆の「InterSystems IRIS グローバル($LB) を pandas.DataFrame に変換する」方法をご紹介します。 #Embedded Python #Python #InterSystems IRIS #InterSystems IRIS for Health 2 1 0 404
記事 Mihoko Iijima · 2025年1月21日 16m read Teams チャネルにメッセージを IRIS から送信してみる 開発者の皆さん、こんにちは。 Teams ワークフロー Webhook を用意すると、curl コマンドや REST クライアントを利用して Teams チャネルに任意メッセージを簡単に送信できるので、IRIS や IRIS の Interoperability を使って自動的に何か情報を入手+必要なときだけ Teams チャネル通知ができたら面白いな、と思い試してみた内容をご紹介します。 以下、Teamsワークフローの作成例です。 #Embedded Python #Python #REST API #相互運用性 #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 4 0 0 49
記事 Tomoko Furuzono · 2025年1月17日 1m read データベースファイルコピー時のトラブル これはInterSystems FAQサイトの記事です。 質問: データベースファイルが存在するフォルダ全体をコピーしたとき、コピーしたデータベースファイルをマウントできません。なぜですか? 回答: コピーした データベースファイル(iris.dat / cache.dat)のあるフォルダに、拡張子lck(iris.lck / cache.lck)のファイルが存在していないでしょうか?InterSystems製品を停止せずに(もしくは、ディスマウントせずに)データベースファイルをコピーした場合、コピー前の情報を保持したままの lckファイルが残ってしまい、コピー後にマウントできない状況になります。また、InterSystems製品を停止せずにコピーしたデータベースファイルは正しい状態ではないので、問題が生じる可能性があります。コピー元のInterSystems製品を停止(もしくはディスマウント)した後、再度データベースファイルををコピーし直してください。 #システム管理 #バックアップ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 22
記事 Tomoko Furuzono · 2025年1月17日 1m read 組み込みPython(Embedded Python)でのPythonバージョンの選択 これは、InterSystems FAQサイトの記事です。 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 29
記事 Hiroshi Sato · 2025年1月17日 1m read SQLクエリでStreamのデータを扱う方法 これは InterSystems FAQ サイトの記事です。 SQLでのストリームフィールドの取得についてはこちらのドキュメントに記載されております。 ストリーム・フィールド・データのクエリ 例: キャラクターストリームデータの50文字取得する #ObjectScript #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 40
記事 Hiroshi Sato · 2025年1月17日 1m read 【Caché, Ensemble】サーバーを移行する際にコピーが必要な設定情報 これは InterSystems FAQ サイトの記事です。 何らかの理由でサーバー移行が必要になった際に、移行前の環境から移行後の環境に設定情報をコピーすることで設定作業を軽減できます。 以下の設定情報を移行できます。 cache.cpf SQLゲートウェイ設定 CSPゲートウェイ設定 *注1 CAHCESYSデータベースに保存しているユーザー作成ルーチンなど *注2 セキュリティ設定 タスク設定 注1 パスワードを設定している場合には、パスワードのみ手動で再設定が必要です。注2 ^%ZSTART, ^ZMIRRORルーチンなど 優先接続サーバー設定に関しても、物理的には移行可能ですが、Windowsのレジストリー情報をコピーする必要があります。レジストリー情報をコピーして他システムに移行する方法は通常推奨される方法ではありません。 #Caché #Ensemble 0 0 0 19
記事 Hiroshi Sato · 2025年1月17日 1m read 実行中のプログラムをコンパイルして保存することによるその実行中のプロセスへの影響 これは InterSystems FAQ サイトの記事です。 Question: 使用中のプログラムをコンパイルして保存すると、現在そのプログラムを実行中のプロセスに影響しますか? Answer: 実行中のルーチンはその旧バージョンをメモリー上に保持しているため、コンパイルして新しいルーチンが保存されても影響なく実行を継続できます。 クラスのメソッドについても同様です。 再度そのルーチンが呼び出された時点でコンパイルされた新しいルーチンが使用されるようになります。 #ObjectScript #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 18
記事 Hiroshi Sato · 2025年1月17日 2m read Mac IRISでEmbedded Python利用に関する相性問題 Mac版IRISでは、現状Pythonのバージョンが固定(3.11)なのですが、これに付随する他製品との相性問題に遭遇しましたので報告します。 今までEmbedded Pythonは調子よく動作していたのですが、ある時から急に動作しなくなりました。 原因を調べてみると、Python3.13がインストールされ、それがデフォルトとして上書きされたため、irispythonコマンドを発行すると、それが内部で3.13を呼ぶ様になってしまったためでした。 ちなみにiris session でログインし、そこからEmbedded Pythonを実行する場合は、問題ありません。 あくまでもirispythonコマンドで直接.pyファイルを実行する場合に発生する問題です。 そしてとりあえずの対処法は、python3をpython3.11で置き換える方法です。 以下のような感じです。(どのMacでもbrewコマンドでインストールした場合、ディレクトリ構造は同じだと思いますが、違う可能性もゼロではありません) cp /opt/homebrew/bin/python3.11 /opt/homebrew/bin/python3 #Embedded Python #Python #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 30
記事 Mihoko Iijima · 2020年8月5日 8m read 【はじめてのInterSystems IRIS】セルフラーニングビデオ:アクセス編:IRIS での JSON の操作 IRIS サーバ側で JSON の操作を行う方法を解説します(3つのビデオに分かれています)。 ビデオ① :ダイナミックエンティティの操作練習 ビデオ② :ダイナミックエンティティで利用できるメソッドの練習 ビデオ③ :SQL関数と %JSON.Adapter の使い方 なお、このビデオには、以下の関連ビデオがあります。ぜひご参照ください。 #JSON #ObjectScript #REST API #ビデオ #初心者 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 1 0 1.2K
記事 Megumi Kakechi · 2025年1月14日 2m read messages.log に出力される SuperServer failed to start slave server のエラーメッセージについて これは InterSystems FAQ サイトの記事です。 09/04/24-14:37:47:260 (2575554) 2 [Utility.Event] ISCLOG: SuperServer Super Server job slave failure ns=%SYS rtn=%SYS.SERVER 09/04/24-14:37:47:260 (2575554) 2 [Utility.Event] SuperServer failed to start slave server メッセージログ(cconsole.log/messages.log)の上記のようなログは、スーパーサーバ/SuperServer(既定:1972ポート)に対して外部からリクエストがあったが、リクエストに対応する子プロセスの起動に失敗した場合に記録されます。 スーパーサーバへの新規接続に対してスーパーサーバがJOBコマンド(タイムアウトあり)を実行したが、タイムアウト時間内にJOBコマンドが完了しなかったケースなどが考えられます。 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 40