記事 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 20
記事 Hiroshi Sato · 2025年1月17日 1m read 実行中のプログラムをコンパイルして保存することによるその実行中のプロセスへの影響 これは InterSystems FAQ サイトの記事です。 Question: 使用中のプログラムをコンパイルして保存すると、現在そのプログラムを実行中のプロセスに影響しますか? Answer: 実行中のルーチンはその旧バージョンをメモリー上に保持しているため、コンパイルして新しいルーチンが保存されても影響なく実行を継続できます。 クラスのメソッドについても同様です。 再度そのルーチンが呼び出された時点でコンパイルされた新しいルーチンが使用されるようになります。 #ObjectScript #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 18
記事 Tomoko Furuzono · 2025年3月31日 2m read 小数桁数を指定して切り上げ・切り捨ての処理を行う方法 これは、InterSystems FAQ サイトの記事です。 小数点桁数を指定しない単純な整数への切り上げ・切り捨ては、それぞれ、以下の関数で実行できます。 (SQL関数) 切り上げ:CEILING切り捨て:FLOOR (ObjectScript関数) #ObjectScript #SQL #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 17
記事 Tomoko Furuzono · 2025年4月3日 1m read ロードバランサやプロキシサーバ経由でアクセスしている接続元クライアントIPを取得する方法 これは、InterSystems FAQ サイトの記事です。 HTTPプロキシサーバまたは負荷分散装置(ロードバランサ)を経由してウェブサーバに接続するクライアントの送信元IPアドレスを特定する際は、HTTPヘッダ:X-Forwarded-For (XFF) を取得しますが、IRISでは以下で取得できます。 set ip = %request.GetCgiEnv("HTTP_X_FORWARDED_FOR") #システム管理 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 16
記事 Hiroshi Sato · 2025年3月17日 2m read 既存のネームスペースで、インターオペラビリティ機能を無効にする方法 これは InterSystems FAQ サイトの記事です。 ネームスペースを管理ポータルで作成する際に、デフォルトでは、『相互運用プロダクション用にネームスペースを有効化』にチェックがついているため、そのチェックを意図的に外さない限り、新規作成したネームスペースは、インターオペラビリティ機能が有効になっています。 この機能が有効であることによる実用上の弊害(パフォーマンス等に影響する)は、特にありませんが、管理ポータル上のクラス表示にこの機能に関連するクラスが先に表示されて、ユーザー作成クラスの表示に余計な操作が必要になる等の操作上の余分な手間が発生する場合があります。 管理ポータル上でこの設定を無効にするメニューは用意されていませんが、以下の手順で無効化することができます。 - 相互運用性ネームスペースの無効化 #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 16
記事 Tomoko Furuzono · 2024年10月27日 1m read IRIS/IRIS for HealthでのOSのマイナーバージョンに対するサポートについて これは、InterSystems FAQサイトの記事です。 InterSystemsでは、以前は、OSの特定リリースに対して製品の検証は実施しておりませんでしたが、バージョン2022.1以降においては、OSのマイナーバージョンに対する検証を実施しております。 最新のサポートプラットフォームの情報については、下記の記事をご確認ください。※2024年12月現在の最新情報InterSystems サポートプラットフォーム最新情報 Q4-2024 ★最新情報は開発者コミュニティにて随時発信いたしますので、以降の状況については、上記記事の継続記事をご確認ください。 #システム管理 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 16
記事 Tomoko Furuzono · 2025年4月3日 3m read 二要素認証について これは、InterSystems FAQ サイトの記事です。 InterSystems製品は、二要素認証をサポートしています。下記ドキュメントページに詳細について記載がありますので、ご参照ください。2要素認証 以下、例として、スマートフォン用認証アプリを用いて、IRIS上のCSPアプリケーションの2要素認証を行うための設定方法を解説します。 #セキュリティ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 15
記事 Tomoko Furuzono · 2025年3月23日 1m read クライアントーサーバ間の通信を暗号化する これは、InterSystems FAQサイトの記事です。 クライアントーサーバ接続を担当するスーパーサーバで、SSLバージョン3とTLSバージョン1での通信が可能です。このオプションを利用することで、通信上のデータを暗号化できます。 その他、Kerberosを使うことで通信上の暗号化も可能です。 #セキュリティ #暗号化 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 15
記事 Tomoko Furuzono · 2025年4月10日 2m read Webゲートウェイの設定値をプログラムで変更する これは、InterSystems FAQ サイトの記事です。 ※Caché/Ensembleの「CSPゲートウェイ」は、IRISでは「Webゲートウェイ」と名称が変更されています。 これに伴い、サービス名も、「%Service_CSP」 ⇒ 「%Service_WebGateway」となっています。 以下は、IRISベースの名称で記載しておりますので、適宜読み替えてご参照ください。 #CSP #Web Gateway #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 14
記事 Tomoko Furuzono · 2025年4月7日 1m read 全角/半角混在文字列から指定された幅の文字列を取得する方法 これはInterSystems FAQサイトの記事です。 指定した文字列式のうち指定したフィールド幅(半角での文字数)に収まる文字数を取得する関数:$ZPOSITIONと、部分文字列を返す関数:$EXTRACTを組み合わせることによって、全角/半角混在文字列から、指定された幅の文字列を取得することが出来ます。※$Extractは文字単位で処理を行いますので、全角/半角を区別した取り扱いはできません。 構文: #ObjectScript #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 13
記事 Toshihiko Minamoto · 2025年4月11日 10m read Iris における Django アプリケーションの実行 説明 これは、ネイティブウェブアプリケーションとして IRIS にデプロイできる Django アプリケーションのテンプレートです。 インストール リポジトリをクローンする 仮想環境を作成する 要件をインストールする docker-compose ファイルを実行する git clone cd iris-django-template python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt docker-compose up 使用法 ベース URL は http://localhost:53795/django/ です。 #API #CSP #Docker #JSON #Python #REST API #SQL #セキュリティ #フレームワーク #InterSystems IRIS Open Exchange app 0 0 0 12
記事 Hiroshi Sato · 2025年4月2日 3m read IRIS for MacにODBCアクセスする方法 その1 Mac版のIRISにSQLを使用して他ツールからアクセスするケースはそもそも少ないと思いますが、DBeaverにJDBCを使用してアクセスできることはこのコミュニティの住人であれば、知っている人は結構いるかと思います。 しかし今回ちょっと理由があってMac上のIRISにODBCを使ってアクセスする方法についてトライしてみました。 ここではその備忘録を書き留めておこうと思います。 実際の所、Mac上のクライアントツールでODBCでアクセスできるツールもそんなにないのですが、 候補としてMS-Excel(MS-Query経由)またはLibreOfficeがありました。 まず結論としてExcelは色々とトライしましたが、原因不明ですがうまくつながりませんでした。 (どうもExcel(MS-Query)が拒絶している感じです) LibreOfficeは何とか接続でき、データの取得はできる様になりました。 まず、前準備としてODBC Driver Managerというものをセットアップする必要があります。 #JDBC #ODBC #SQL #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 12
記事 Tomoko Furuzono · 2025年3月21日 1m read ジャーナルのON/OFFを、コマンドで操作する方法 これはInterSystems FAQサイトの記事です。 大量の更新を行うプログラムで、処理途中に何らかの問題が発生してもデータを初期化して再度実行することができる状況では、プロセスレベルでジャーナリングを無効/有効に変更することが可能です。 ※但し、トランザクションのロールバックにはジャーナルが必要ですので、ロールバックを正しく動作させたい場合にはこの方法は使用しないでください。 以下のコマンドを使用します。更新処理の開始と終了(またエラー処理での終了)の際に以下のコマンドを追加します。 #ジャーナリング #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 12
記事 Tomoko Furuzono · 2025年4月17日 1m read メソッドの実装に使用する言語を明示するーLanguage(メソッド・キーワード)の指定について これは、InterSystems FAQサイトの記事です。 メソッドの実装に使用する言語を明示する場合は、下記のようにメソッドキーワードで「Language=~~~」と指定します。 Method name(formal_spec) As returnclass [ Language = language ] { //implementation } 指定できるLanguageの値は下記のとおりです。 #CSP #ObjectScript #Python #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 11
記事 Tomoko Furuzono · 2025年3月31日 1m read IRISのSQLでサポートされているSQLウィンドウ関数について これは、InterSystems FAQ サイトの記事です。 ウィンドウ関数は、結果セットを部分的に切り出した領域に集約関数を適用できるもので、WHERE GROUP BY および HAVING 節が適用された後、SELECT クエリで選択された行に対して作用します。IRIS/IRIS for Health 2021.1からサポートしています。サポートされるウィンドウ関数は以下の通りです。 #SQL #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 11
記事 Tomoko Furuzono · 2025年4月10日 1m read サーバのIPアドレスやマシン名をオブジェクトスクリプトで取得する これはInterSystems FAQサイトの記事です。 サーバのIPアドレスやマシン名は、%SYSTEM.INetInfoクラスのメソッドで取得することが出来ます。 #ObjectScript #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 10
記事 Tomoko Furuzono · 2025年4月7日 1m read インストールマニフェストを利用したアプリケーションのデプロイ これは、InterSystems FAQ サイトの記事です。 InterSystems製品では、%Installerユーティリティによりインストール・マニフェストを定義することができます。これを利用することにより、複雑な構成設定を自動化することが可能になります。これは特に、複数の同様なアプリケーションデプロイを行うときに大変有効です。 インストール・マニフェストの詳細については、下記のドキュメントページをご参照ください。インストール・マニフェストの作成および使用 #デプロイ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 10
記事 Hiroshi Sato · 2025年4月2日 2m read IRIS for MACにODBCでアクセスする方法その2 その1で設定したODBCのシステムDSNを使って、LibreOfficeからアクセスしてみたいと思います。 ここでLibreOfficeをデスクトップから起動すると、詳細は不明ですが、日本語の表示がうまくできません。 (ロケール情報が正しく取得できていない様です) なので、少し面倒なのですがターミナルから起動する必要があります。 起動する前にロケールが正しく設定されているか確認する必要があります。一般的には、LC_ALLは設定されていないので、この環境変数に値を設定してエクスポートします。 #ODBC #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 10
記事 Tomoko Furuzono · 2025年3月19日 1m read オンラインバックアップの保存先 これはInterSystems FAQサイトの記事です。 質問: オンラインバックアップの保存先にネットワークドライブ(NAS等)を指定することはできますか? 回答: バックアップの保存先に指定することはできますが、推奨はしておりません。 推奨しない理由は、オンラインバックアップの最終フェーズにDBアクセスを禁止して処理が実行されますが、 このとき、万一ネットワークエラー等でバックアップ処理がハングアップすることがあれば、システム全体に影響が及ぶリスクがあるからです。 #システム管理 #バックアップ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 10
記事 Hiroshi Sato · 2025年4月1日 1m read IRISから外部のWebAPIを呼び出したとき、レスポンス内の全角文字が化ける これは InterSystems FAQ サイトの記事です。 Content-Typeにcharset 情報が含まれていない場合、IRIS/Cachéは文字コードを判断できず文字コード変換が行われません。 そこで、以下のように、「自動的な文字変換を行わず、UTF-8に変換する処理を記述」することで、その指定がある無しに関わらず、対応することができます。 #JSON #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 9
記事 Tomoko Furuzono · 2025年3月27日 1m read 機能トラッカのメッセージについて これは、InterSystems FAQ サイトの記事です。 システムログ(messages.log/cconsole.log)に出力される、 [Utility.Event] %SYS.Task.FeatureTracker failed to transfer data というログは、機能トラッカというタスクが出力しているメッセージです。このタスクは、弊社がユーザ使用状況の統計を取得する為のデータ送信タスクになります。エラーは弊社と通信が行われてない為に発生しています。 #システム管理 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 8
記事 Megumi Kakechi · 2025年4月22日 5m read ADO.NET Managed Provider を使用してクラスクエリを実行し、結果セットを取得するサンプル 先日、お客様よりタイトルのご質問をいただき、サンプルコードを作成しました。せっかくですので、こちらでも共有したいと思います。 今回は、データベースの空き容量情報を取得する、%SYS.DatabaseQueryクラスのFreeSpaceクエリを使用したサンプルとします。 C#.Net と VB.Net で作成してみました。 ★C#.Net #.NET #SQL #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 7
記事 Tomoko Furuzono · 2025年3月27日 2m read ジャーナルの整合性チェックやサマリの表示をコマンドで実行する方法 これは、InterSystems FAQ サイトの記事です。 管理ポータルの [システムオペレーション] > [ジャーナル]のページで実行できる、 整合性チェックの実行や、サマリーの表示は、%SYS.Journal.File クラスのメソッドやクエリでも実行することができます。 クラスリファレンス:%SYS.Journal.File 以下、実行例です。※全て、%SYSネームスペースで実行します。 (1) 整合性チェック #システム管理 #ジャーナリング #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 7