記事 Mihoko Iijima · 2021年1月15日 2m read 文字列の前後の半角スペース及び全角スペースを取り除く方法 これは InterSystems FAQ サイトの記事です。 $ZSTRIP() 関数を使用します。 この関数を使用すると、指定文字列から、文字のタイプと文字を削除できます。 下記の例のように、第2引数で、"<"、">"、"<>"を指定することにより、SQLのLTRIM、RTRIM、TRIM関数と同等の処理が可能になります。 #ObjectScript #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 704
記事 Mihoko Iijima · 2021年3月9日 3m read アプリケーションエラー(^ERRORS)をコマンドで取得する方法 これは InterSystems FAQ サイトの記事です。 SYS.ApplicationError クラスの ErrorList クエリを使用します。 注意1:%SYS ネームスペースで実行します。 #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 96
記事 Hiroshi Sato · 2021年10月14日 2m read 文字コードを変換するときに利用できる変換テーブル名を取得する これはInterSystems FAQ サイトの記事です。文字コードの変換に利用できる変換テーブル名は、以下のシステム関数で取得できます。 Write $$GetIONames^%SYS.NLS() 現在のロケールにおいて各デバイス(ファイル、ターミナル等)のデフォルトの変換テーブル名を取得するには、%SYS.NLS.Table クラスを使用します。 確認方法は以下の通りです。 (1) システムデフォルト設定を取得するため、%SYS.NLS.Table のインスタンスを生成します。(引数に、"System" を指定します。) set obj=##class(%SYS.NLS.Table).%New("System") (2) GetIOTable() メソッドを使用して、確認したいデバイスの現在の変換テーブル名を取得します。 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 357
記事 Hiroshi Sato · 2021年9月30日 1m read データベースファイルのタイムスタンプ(更新日時)の更新タイミング これは InterSystems FAQ サイトの記事です。IRIS.DAT/CACHE.DATのタイムスタンプ更新は、データベースの内容の更新後のディスマウント時 (明示的なディスマウント処理または停止処理の際、 または、 データベースファイルのサイズ拡張時に発生します。 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 137
記事 Mihoko Iijima · 2021年4月30日 2m read InterSystems IRIS が正常に動作していることを Linux から確認する際の監視対象プロセス名 これは InterSystems FAQ サイトの記事です。 監視対象プロセスについては以下の表をご参照ください。 ※利用環境によって、出現しないプロセスもあります。 #システム管理 #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 188
記事 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 138
記事 Mihoko Iijima · 2021年7月20日 1m read バージョンアップした後のルーチンの再コンパイルについて これは InterSystems FAQ サイトの記事です。 バージョンアップ後、ルーチンを再コンパイルする必要はありませんが、バージョンアップで %SYS が上書きされるため、%SYS 内のユーザ作成 INT 形式および OBJ 形式ルーチン(*.INT,*.OBJ)が削除されますので、注意が必要です。 MAC形式(.MAC)と以下の名前の INT 形式および OBJ 形式ルーチンについては削除されません。 %Z*.INT, %z*.INT, Z*.INT,z*.INT %Z*.OBJ, %z*.OBJ, Z*.OBJ,z*.OBJ なお、クラス/CSP はアップグレード後にコンパイルが必要となります。 ただし、メンテナンスリリースへのアップグレードの場合は、コンパイルは不要です。詳細は、以下ドキュメントをご参照ください。 #システム管理 #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 116
記事 Mihoko Iijima · 2021年9月7日 3m read Windowsで InterSystems 製品をアンインストールするときの注意点 これは InterSystems FAQ サイトの記事です。 Windows システムにインストールされた InterSystems 製品を削除するには、コントロールパネルにあるプログラムの追加と削除(Windows 10の場合は、Windows の設定からアプリを選択)を使用します。 システムに変更を加えますので、管理者権限を持ったユーザでログインして作業を行う必要があります。 1) 管理者(Administrator)でシステムにログインします。 2) システムトレイから、アンインストールを行う InterSystems 製品インスタンスのランチャーを終了します(ランチャークリック → 終了)。 3)コントロールパネルにある プログラムの追加と削除 (Windows 10の場合は、Windows の設定からアプリを選択)で <InterSystems製品> instance [xxxx] ( xxxx にはインスタンス名が表示されています) を削除します。 #システム管理 #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 382
記事 Megumi Kakechi · 2022年9月5日 2m read Web経由でイメージファイルを IRIS にアップロード/ダウンロードする方法 これは InterSystems FAQ サイトの記事です。 Web 経由でのイメージファイルのアップロード/ダウンロードを行うサンプルをご紹介します。サンプルでは、以下の手順でファイルの「アップロード/ダウンロード」を行っています。 Stream型のプロパティをもったクラスを用意する upload ボタン押下でイメージファイルをIRISサーバにアップロードする アップロードされたデータを %request.MimeData で受け取り CopyFromAndSave メソッドを使ってコピー&1 のクラスに保存する アップロードされたファイルを画面に表示する download ボタンを押下し、1 のクラスに保存したファイルをローカルにダウンロードする。 サンプルプログラムの使い方は次のとおりです。 #CSP #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 184
記事 Megumi Kakechi · 2022年11月22日 2m read (管理ポータルで行う)リンクテーブルをプログラムで行う方法 これは InterSystems FAQ サイトの記事です。 InterSystems IRIS では、管理ポータルの [システムエクスプローラ] > [SQL] : ウィザード > リンクテーブルで行うリンクテーブルの作成をコマンドで行うことが可能です。 リンクテーブルの作成には、%SYSTEM.SQL.Schema クラスの CreateLinkedTable メソッドを使用します。詳細は、クラスリファレンスをご覧ください。 実行は以下のように行います。 #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 230
記事 Mihoko Iijima · 2023年3月5日 4m read VSCode:RESTサービス実行中プロセスにアタッチしてデバッグする方法 開発者の皆さん、こんにちは! 1つ前の記事では、VSCodeのObjectScriptエクステンションに追加されたRESTサービスのデバッグツールについてご紹介しましたが、この記事では、RESTクライアントなどからHTTP要求を実行し、処理中のIRIS内プロセスにアタッチしながらデバッグを行う方法についてご紹介します。 #REST API #デバッグ #ヒントとコツ #開発環境 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 432
記事 Megumi Kakechi · 2024年4月25日 2m read 大きいデータを持つフィールドに対してインデックスを作成する方法 大きなサイズのデータを持つフィールドに対してインデックスを作成すると、<SUBSCRIPT>エラーとなることがあります。 これは、グローバルの添え字(サブスクリプト)のサイズには制限があり、制限を超えるとエラーとなるためです。 例えば、以下のようなインデックスの場合、 ^Sample.PersonI("NameIdx"," xxx...xxx",1) = "" グローバル名+サブスクリプト部(=の左側)が、エンコード文字数で最長 511 文字を超えるとエラーとなります(日本語の場合はもっと小さな文字数です)。 ※ご参考:グローバル参照の最大長 #SQL #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 28
記事 Toshihiko Minamoto · 2020年12月16日 1m read TLS/SSL で OS の証明書ストアを使用する Windows と Mac で InterSystems IRIS 2019.1 (および 2018.1.2) の SSL/TLS 設定に認証局 (CA) の証明書を簡単に追加する新しい方法ができました。 IRIS にオペレーティングシステムの証明書ストアを使用することを要求するために、 %OSCertificateStore を "信頼された証明書機関 X.509 証明書を含むファイル" のフィールドに入力します。 以下はポータルでそれを実行する方法を示した画像です。 また、これについて説明したドキュメントへのリンクはこちらです。 "信頼された証明書機関の証明書を含むファイル" のオプションの中を探してください。 #SSL #セキュリティ #ヒントとコツ #ベストプラクティス #InterSystems IRIS 0 0 0 168
記事 Mihoko Iijima · 2021年1月29日 2m read グローバルのサイズをプログラミングで取得する方法 これは InterSystems FAQ サイトの記事です。 システム提供の %SYS.GlobalQueryクラス の Size クエリーを使用することで取得できます。 使用例は、以下のサンプルコードをご参照ください。※カラムやパラメータの指定はクラスリファレンスをご確認ください。 #グローバル #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 261
記事 Hiroshi Sato · 2021年10月13日 3m read System routine buffer (# KB) shortage is detected.... のメッセージの意味と対処方法 これはInterSystems FAQ サイトの記事です。コンソールログファイル (※1) に、以下のメッセージが表示されることがあります。 05/14/19-09:32:14:056 (6888) 0 System routine buffer (64 KB) shortage is detected, 430 routine buffers configured, adjusted per process cached rtn to 71 (※1)コンソールログファイルは、[管理ポータル] > [システムオペレーション] > [システムログ] > [コンソール・ログ] から参照できます。または、以下ファイルを直接参照することもできます。 <インストールディレクトリ>\mgr\cconsole.log 上記メッセージでは、ルーチンバッファサイズのうちの 64KB バッファの不足が検出されています。 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 166
記事 Mihoko Iijima · 2021年5月6日 2m read 各言語から InterSystems IRIS にアクセスするサンプルなど これは InterSystems FAQ サイトの記事です。 インターシステムズ オンラインラーニングでは、InterSystems IRIS 概要や IRIS の各機能について 2~5分でご覧いただける QuickStart ページ(説明ビデオと操作方法を解説、サンプル用 Git の使い方をまとめたページ)をご用意しています。 #ヒントとコツ #初心者 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 122
記事 Megumi Kakechi · 2021年6月15日 2m read ローカル変数は最大どのくらいまで使うことができるのか これは InterSystems FAQ サイトの記事です。 ローカル変数の容量は、プロセスに許可する最大メモリ割り当て容量によって制限されます。 この値は、システム構成パラメータの bbsiz で設定します(設定方法は記事の後半にあります)。 既定値は、1プロセスあたり、262,144 KB です。※IRIS 2022.1 以降は、既定値が -1(最大値:制限なし) になりました。※Caché/Ensemble 2012.1以前では 16,384 KB でした。 値は 256KB からスタートし、プロセスがより大きな領域を必要とする場合は、bbsiz で設定した値まで拡張します。(バージョン2012.1以前では 128KB~49,536KB の範囲で設定できます。) この値を超えるようなローカル変数の使用があると、 エラーが発生します。 現在のプロセスに残っている使用可能なメモリ量は、$STORAGE 変数で確認できます(バイト単位)。詳細は以下ドキュメントページをご参照ください。 #システム管理 #パフォーマンス #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 469
記事 Megumi Kakechi · 2021年7月19日 3m read <STORE>エラーが発生する場合の対処法について これは InterSystems FAQ サイトの記事です。 <STORE> エラーは サーバ上のプロセスが使用しているプロセス個別メモリ容量が上限に達した場合に発生します。このメモリはオブジェクトを開いたり、ローカル変数を使用することで消費されるものとなります。このエラーは サーバ上のプロセスでメモリを大量に使用した場合に発生します。Caché バージョン2012.2以降、プロセス個別のメモリ容量の最大値が大幅に拡張されました(約2TB)。 この変更により、ローカル変数の使用領域を大幅に増やすことができるようになったため 特別な状況が発生しない限り(プログラムのバグにより大量のローカル変数を作成し続ける等) エラーを回避できるようになりました。 但し、このためのメモリ領域は、プログラムが動作するハードウェアが提供する資源の一つですので物理的な制限は当然あります。システム全体の資源管理を念頭に置き慎重な使用をお勧めします。 設定値詳細については以下ドキュメントをご参照ください。 #システム管理 #パフォーマンス #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 531
記事 Mihoko Iijima · 2021年8月31日 5m read ジャーナルファイルが長時間消されずに残ってしまう原因 これは InterSystems FAQ サイトの記事です。 24時間停止しないシステムの場合、「ジャーナルファイルの削除設定」に合わせて 0時30分 に古いジャーナルファイルを削除します。 「ジャーナルファイルの削除設定」より古いジャーナルファイルが残っている原因として、オープンされたままのトランザクションが存在していることが考えられます。 その場合、トランザクション実行中プロセスを探し、トランザクションを確定させることでジャーナルファイルを削除できるようになります。 以下のサンプルは、オープンされたままのトランザクションの存在確認と、存在する場合は対象ファイル名とジャーナルレコード情報が出力されます。 (サンプルは、https://github.com/Intersystems-jp/CheckOpenTransaction からダウンロードできます) #システム管理 #ジャーナリング #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 168
記事 Mihoko Iijima · 2022年5月29日 2m read プログラムでCSVファイルをテーブルにインポート/テーブルからCSVファイルにエクスポートする方法 これは InterSystems FAQ サイトの記事です。 InterSystems IRIS/Caché の管理ポータルメニュー:SQLデータインポートウィザードの処理で行うようなCSVファイルをテーブルへインポート、テーブルからファイルにエクスポートする方法をプログラムで実行することができます。 ※ サンプルはバージョン 2017.1以降で動作確認しています。 ※ バージョン 2016.2.3以前でお試しいただく場合は、SQL.Utilsクラス の20行目をコメント化してからご利用ください。 #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 478
記事 Megumi Kakechi · 2022年9月9日 3m read データベースをバックアップする際の停止時間をできるだけ短くしたいとき これは InterSystems FAQ サイトの記事です。外部バックアップ機能と、SANソリューションが提供するスナップショット(スナップクローン、ミラークローンなど呼び方はベンダ毎に異なります)などのテクノロジを利用することで、バックアップ時のインスタンス停止時間を最短にすることができます。 操作手順概要は以下の通りです。 #システム管理 #バックアップ #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 152
記事 Megumi Kakechi · 2022年12月1日 4m read ライセンスサーバでライセンスを一元管理する方法 複数のインスタンス間でライセンスを共有する際に、ライセンスサーバを立ててライセンスの使用量を管理します。IRISライセンスサーバには、ライセンスの使用量管理に加えて便利な新しい機能が追加されました。 -- ライセンスサーバでできること --1. マルチサーバライセンス(共有ライセンス)の統合管理(使用量の管理)2. 各インスタンスへのライセンスキーの配布・管理【New】 1 は従来からのライセンスサーバの機能で、関連記事 にて機能紹介をしております。 2 はIRIS以降使用できるようになった新しい機能です。 #システム管理 #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 198
記事 Mihoko Iijima · 2020年11月6日 4m read 外れ値について これはInterSystems FAQ サイトの記事です。 テーブルチューニングを行った際に、フィールドに値がほとんど登録されていない(Null)場合や、特定の値がほとんどを占める場合、その値を [外れ値] として除外して選択性計算を行います。 また、外れ値が全レコードの何 % を占めているかの値は [外れ値の選択性] として記録されます。 InterSystems 製品のクエリオプティマイザは、選択性数値とエクステントサイズを使用してクエリの経路を決定しますが、クラスクエリ、埋め込み SQL に使用しているクエリに外れ値が含まれる場合は、外れ値の選択性が自動的に考慮され、インデックスの使用有無を決定しています。 #SQL #インデックス付け #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 406
記事 Mihoko Iijima · 2021年1月29日 4m read コマンドでジャーナルファイルにある特定のグローバル変数を検索する方法 これは InterSystems FAQ サイトの記事です。 #グローバル #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 315
記事 Hiroshi Sato · 2021年11月29日 2m read イメージファイルをFTPサーバからアップロード/ダウンロードする方法 これは、InterSystems FAQサイトの記事です。 FTPサーバから、アップロード/ダウンロードする方法は以下の通りです。 1. FTPサーバにイメージファイルをアップロードする #ObjectScript #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 140
記事 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 202
記事 Megumi Kakechi · 2021年4月9日 2m read 使用中のデータベースキャッシュ(グローバルバッファ)のサイズを知る方法 これは InterSystems FAQ サイトの記事です。 グローバル変数毎のデータベースキャッシュ使用量を確認するツール(^GLOBUFFユーティリティ)が用意されています。 %SYSネームスペースにて、ユーティリティを直接実行する方法と、プログラムで実行する方法があります。 ユーティリティを直接実行する方法は以下のようになります。 #ObjectScript #ツール #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 305
記事 Mihoko Iijima · 2021年5月12日 2m read サンプル(Sample.Person)のクラス定義ダウンロードとサンプルデータの作成について これは InterSystems FAQ サイトの記事です。 InterSystems IRISでは、サンプル定義の一部は、GitHub上に公開しています。 本FAQ内で登場する Sample.Person のクラス定義とサンプルデータについては、こちら からダウンロードいただけます。手順は以下の通りです。 #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 131
記事 Mihoko Iijima · 2021年6月9日 8m read 管理ポータルのメモリ関連設定項目について これは InterSystems FAQ サイトの記事です。 管理ポータルで設定できるメモリ関連の項目は、以下の通りです。(項目としては他にもありますが、ここでは、ほとんど設定する必要のないものについては記載していません。) 管理ポータル [ホーム] > [システム管理] > [構成] > [システム構成] > [メモリと開始設定] 古いバージョンのメニューは以下の通りです。 【バージョン5.1~2010.x】システム管理ポータル [ホーム] > [構成] > [メモリと開始設定] の設定内容* データベースキャッシュ用メモリ* ルーチンキャッシュ用メモリ 【バージョン2011.1.0~】管理ポータル [ホーム] > [システム管理] > [構成] > [追加の設定] > [メモリ詳細設定] #システム管理 #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 303
記事 Megumi Kakechi · 2021年8月5日 7m read しばらく(1ヶ月以上)使用していなかった環境にログインする方法 これは InterSystems FAQ サイトの記事です。 あるユーザが「不活動上限」を超える期間にわたって、一度もInterSystems製品にログインしなかった場合、そのユーザは無効になりログインできなくなります。 なお、この設定の初期値は、インストール時の初期セキュリティによって変わります。「通常」以上では既定値は90日間、「最小」では0日に設定されています。ユーザを有効に変更することにより再びログインすることができるようになります。 2007.1以降であれば%Allを持つユーザが最低1つは残っていますので、そのユーザでログインできればそこから設定を変更します。(%Allを持つユーザは、インストール時のセキュリティ設定によって異なります) 使用できるものがわからないときは、InterSystems製品を緊急アクセスモードで起動してログインします。 <緊急アクセスモードからの復元方法> #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 1 570