記事 Tomoko Furuzono · 2024年8月4日 1m read 管理ポータルのグローバル表示で、サブスクリプトレベルの範囲を指定して表示する これは、InterSystems FAQサイトの記事です。 管理ポータルのグローバル変数表示ページでは、サブスクリプトレベルの範囲を指定して表示することが可能です。 各サブスクリプトレベルで、 <開始値>:<終了値> のように指定します。開始値を省略すると先頭から終了値まで、終了値を省略すると指定値から最後までのグローバル変数を表示します。 《例》 (グローバル全体) (第2サブスクリプトが"b"のデータだけを表示) (第3サブスクリプトが300以上のデータを表示) #管理ポータル #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 40
記事 Tomoko Furuzono · 2024年8月4日 1m read IRIS SQLで、二重引用符「"」を、リテラル値を示す区切り文字として使う方法=区切り識別子を無効にする これは、InterSystems FAQサイトの記事です。 区切り識別子は、区切り文字で囲まれた一意の識別子です。InterSystems SQL は、その区切り文字として二重引用符 「"」 をサポートしています。一方、リテラル値を区切る場合は、一重引用符「'」を使用します。例えば、下記のSQLにおいて、①は、Nameの値が「AAA」という文字列である、という検索条件と解釈されますが、②は、Name列 = AAA列、という結合条件と解釈されます。※実際にAAA列が無ければエラーとなります。 ① #SQL #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 33
記事 Tomoko Furuzono · 2024年8月4日 1m read 1840年12月31日 00:00:00よりも前の日付時刻をサポートする方法 これは、InterSystems FAQサイトの記事です。 既定では、InterSystems製品で表すことのできる日時の最小値は、1840年12月31日 0時0分0秒 です。 #ObjectScript #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 51
記事 Tomoko Furuzono · 2024年6月6日 2m read JSON_Table(SQL)の利用 これは、InterSystems FAQサイトの記事です。 IRIS/IRIS for Health2024.1以降のバージョンのSQLで、JSON_TABLE関数がサポートされています。【ドキュメント】JSON_TABLE(SQL) これを使用することにより、JSON形式データを表形式で取得することが出来ます。【例】郵便番号情報を外部から取得し、表形式にマッピングする。(取得データ(JSON)) #JSON #SQL #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 79
記事 Tomoko Furuzono · 2024年3月18日 1m read Pythonを使用して、外部のサーバからIRISへアクセスする これは、InterSystems FAQサイトの記事です。 Pythonで、IRISサーバ外部から、IRISの処理を呼び出したりIRISのデータを扱いたい場合には、Native API for Pythonを使用します。モジュールのインポートは、 import irisnative で、行います。詳細は、下記ドキュメント及び、各関連トピックをご参照ください。[ドキュメント] InterSystems Native SDK for Python #Python #言語 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 86
記事 Tomoko Furuzono · 2024年3月18日 3m read 任意のXMLドキュメントの読み込み・書き出しを行う これは、InterSystems FAQサイトの記事です。 【任意のXMLドキュメントの読み込み】任意のXMLドキュメントの読み込み・書き出しを行うには、%XML.TextReaderクラスを使用します。Parseメソッド(※ドキュメントがファイルの場合はParseFile())を使用してドキュメントをParseし、各ノードのプロパティを取得します。 例えば、下記のXMLの場合、 <emp empid="1"> <name>Suzuki</name> <address>Tokyo</address> </emp> 各赤枠が、"ノード"の単位となり、 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 82
記事 Tomoko Furuzono · 2023年7月2日 3m read プログラムからグローバルのインポート/エクスポート処理を呼び出す方法 これは、InterSystems FAQサイトの記事です。 以下の様な方法で、グローバルのインポート/エクスポート処理をプログラムに組み込むことができます。 1. グローバルエクスポート方法1.1 XML形式でのエクスポートグローバルをXML形式のファイルにエクスポートする場合、$system.OBJ.Export() を使用します。 1.1.1. 指定したグローバルをエクスポートする場合エクスポート対象グローバルを グローバル名.gbl で指定します(先頭の ^ は不要)。例: #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 208
記事 Tomoko Furuzono · 2023年5月14日 3m read オペレーティング・システム・ベースの認証について これは InterSystems FAQ サイトの記事です。 オペレーティング・システム・ベースの認証(OS認証)では、OSのユーザ ID を使用して、IRISを使用するユーザを識別します。 インストール時に選択する初期セキュリティ設定=最小の場合は、予め、OSログインユーザと同一名のユーザをInterSystems IRIS に作成する必要があります。(パスワードは異なっていても構いません。)初期セキュリティ設定=通常以上の場合は、インストールユーザ名(OSログインユーザ名)で、ユーザが作成されていますので、このユーザを使用することができます。別のログインユーザで実行したい場合は、同様にIRISユーザを同名で作成してください。 [インストール時の初期セキュリティ設定画面] #セキュリティ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 95
記事 Tomoko Furuzono · 2023年5月8日 1m read <ROLLFAIL>エラーについて これは、InterSystems FAQサイトの記事です。<ROLLFAIL>エラーは、ロールバック処理中に何らかのエラーが発生した場合に発生するエラーです。 トランザクション・ロールバックのロギング よくあるケースはロールバック時点でシステム全体のジャーナリング機能が無効になっていた場合です。ジャーナル機能が無効になるのは、ジャーナルを無効にする設定を行うかジャーナル格納ディレクトリのディスクが満杯のためにシステムがジャーナルを無効にした場合などです。 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 110
記事 Tomoko Furuzono · 2023年4月11日 2m read 監査データベースの閲覧のみを許可する これは、InterSystems FAQサイトの記事です。管理ポータルの監査メニューを使用する場合、ユーザに監査データベースの閲覧のみを許可するということはできません。管理ポータルから監査データベースを閲覧する場合は、そのユーザに、・%Admin_Secure:U(監査以外にもセキュリティ関連の操作が可能となる)・%DB_IRISAUDIT:RW(監査データベースへの読み込み/書き込み権限)等のリソースへの権限が必要になりますが、これを与えることにより、監査データベースの閲覧以外の操作も可能となってしまいます。 監査データベースの閲覧のみを許可したい場合には、管理ポータルの監査メニューは使用せず、外部ツール等からSQLで監査テーブルを参照するようにします。このとき、ユーザに必要な権限は以下の通りです。※他の権限は与えないようにします。・IRISAUDITデータベースへのRW権限 ⇒ %DB_IRISAUDITロールの付与・%SYS.AuditテーブルへのSelect権限 #システム管理 #セキュリティ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 86
記事 Tomoko Furuzono · 2023年4月11日 2m read マッピングしたグローバルのエクスポートについて これは、InterSystems FAQサイトの記事です。%Library.GlobalクラスのExport()メソッドを使用してエクスポートする際に、エクスポート形式(第4引数:OutputFormat)を 7 の「ブロックフォーマット/Cachéブロックフォーマット(%GOF)」にした場合、マッピングされたグローバルはエクスポートできない仕様となっています(対象はネームスペースのデフォルトグローバルデータベースのグローバルのみ)。マッピングされたグローバルを「ブロックフォーマット/Cachéブロックフォーマット(%GOF)」でエクスポートする為には、%Library.Global.Export()の第1パラメータにマッピング先のデータベースディレクトリを指定します。実行例は以下の通りです。 #グローバル #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 126
記事 Tomoko Furuzono · 2023年4月11日 1m read 日本語を含むHL7を送受信するときに利用する文字コード これは、InterSystems FAQサイトの記事です。HL7の仕様では、日本語データを送受信する場合はJISを文字コードとして利用し、メッセージヘッダ(MSH)の18番目の2項目に iso-ir87 を指定します。HL7用プロダクションでは、情報の入力はビジネスサービス、情報の出力はビジネスオペレーションを利用します。日本語を含むHL7を送受信する場合は、入力/出力の対象となる全てのコンポーネントの設定で [追加の設定] の「キャラクターセット(Charset)」に iso-ir87 を指定することで正しく日本語データを取り扱うことができます。 #HL7 #相互運用性 #Ensemble #InterSystems IRIS for Health 0 0 0 226
記事 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 320
記事 Tomoko Furuzono · 2023年4月10日 3m read 管理ポータル:システムエクスプローラで参照のみ可能なユーザの設定 これは、InterSystems FAQサイトの記事です。管理ポータル:システムエクスプローラの使用には、%DevelopmentリソースのUse特権が必要です。システムエクスプローラでの参照のみ利用可能とする権限をユーザに付与したい場合は、%DevelopmentリソースのUse特権(※1)と、該当のデータベースリソース(※2)への参照特権(R)を付与したロールを作成し、これをユーザに与えます。※1.「%Development:U」を付与している場合はターミナルやスタジオも参照のみで使用可能となります。※2.参照したいデータベースに割り当てられているリソースが%DB_DEFAULTリソースになっており、このデータベースのみに参照権限を設定したい場合は、事前に、このデータベース用の独自リソース(%DB_<データベース名>)を作成し、該当データベースに割り当てるようにします。 #セキュリティ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 126
記事 Tomoko Furuzono · 2022年5月6日 1m read 最大ネームスペース数とデータベース数 これは、InterSystems FAQサイトの記事です。 1つのインスタンスで作成可能なネームスペース数の上限は、2047個になります。ただし多数のネームスペースを使用するには、それに合わせてメモリの設定が必要になります。使用するメモリの設定については下記の関連トピックご参照ください。管理ポータルのメモリ関連設定項目について #システム管理 #データベース #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 205
記事 Tomoko Furuzono · 2022年3月29日 1m read 現在実行中のコードの位置(どの行を実行中か)を知る方法 これは、InterSystems FAQサイトの記事です。 現在実行中のコードの位置は、$STACK関数を使用して $STACK($STACK,"PLACE") で取得できます。 サンプルコードは以下ドキュメントをご参照ください。 現在実行中のコードの位置を取得する方法について【IRIS】現在実行中のコードの位置を取得する方法について #ObjectScript #Caché #InterSystems IRIS 0 0 0 91
記事 Tomoko Furuzono · 2022年3月29日 1m read SQLでのNULLデータの取り扱い これは、InterSystems FAQサイトの記事です。 SQLの場合、NULLデータと空文字列 ('')は区別されます。それぞれの設定・確認方法は、以下のようになります。 (1) NULLデータ 【SQL】 insert into test (a) values (NULL)select * from test where a IS NULL 【InterSystems ObjectScript】 set x=##class(User.test).%New()set x.a="" (2) 空文字列 ('') 【SQL】 #ObjectScript #SQL #Caché #InterSystems IRIS 0 0 0 278
記事 Tomoko Furuzono · 2022年3月29日 1m read プログラムでCSVファイルを1行ずつ読み込む方法 これは、InterSystems FAQサイトの記事です。 %SQL.Util.Proceduresクラスの CSV() プロシジャを使用することにより、実現できます。下記が使用例のコードとなります。(test.csvというファイルが c:\temp にあるという前提) #ObjectScript #SQL #Caché #InterSystems IRIS 1 0 1 466
記事 Tomoko Furuzono · 2022年3月1日 2m read オブジェクトのプロパティやメソッドに動的にアクセスする方法 これは、InterSystems FAQサイトの記事です。 オブジェクトに対する一般的な処理をサポートする各種関数を提供しています。詳細は以下ドキュメントをご参照ください。オブジェクトへの動的アクセス【IRIS】オブジェクトへの動的アクセス サンプルクラス(Sample.Person)を使用して、利用例をご紹介します。 #ObjectScript #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 394
記事 Tomoko Furuzono · 2022年3月1日 1m read マッピングされたクラス・ルーチンをコンパイルする方法 これは、InterSystems FAQサイトの記事です。 マップされたクラス・ルーチンも含めてコンパイルする場合は、コンパイラ修飾子に "/mapped=1" もしくは "/mapped" を指定します。 例えば、以下のように行います。 【例1】クラスリストを取得してコンパイル do $System.OBJ.GetClassList(.list,"/mapped") // build your list starting from .list do $System.OBJ.Compile(.list) 【例2】全てのクラスをコンパイル #ObjectScript #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 124