この記事では、syslogテーブルについて説明したいと思います。 syslogとは何か、どのように確認するのか、実際のエントリはどのようなものか、そしてなぜそれが重要であるのかについて説明します。 syslogテーブルには、重要な診断情報が含まれることがあります。 システムに何らかの問題が生じている場合に、このテーブルの確認方法とどのような情報が含まれているのかを理解しておくことが重要です。

0 0
0 296

これは InterSystems FAQ サイトの記事です。

HL7 メッセージの送受信を行うプロダクションでは、以下3個のグローバルが非常に大きくなることがあります。

グローバルの大きさを確認する場合は、^%GSIZEユーティリティを利用します。詳細は関連トピック/記事をご参照ください。

^EnsHL7.Segment
^EnsLib.H.MessageD
^EnsLib.H.MessageI

HL7メッセージは EnsLib.HL7.Message.cls で定義されます。
^EnsLib.H.MessageD はデータを保存するグローバル、^EnsLib.H.MessageI はインデックスを保存するグローバルです。

また、HL7メッセージは多数のセグメントで構成されており、メッセージデータを含むそれらのセグメントは ^EnsHL7.Segment に保存されます。

0 0
0 123

これは InterSystems FAQ サイトの記事です。

クラス定義の Property 定義文の名称を直接変更した場合、内部的には 元のプロパティを削除し、新しいプロパティを追加 したことになります。

このため、すでにデータを格納している永続クラスのプロパティ名をエディタで直接変更した場合、元のプロパティで設定されていた値にはアクセスができなくなります(新しいデータの格納位置が割り当てられます)。

また、変更したプロパティが必須(非ヌル)に指定されていた場合、データが存在しないために参照時にエラーが発生します。

以下の図は、左画面が変更前の状態、右画面がプロパティ名を変更してコンパイルを行った状態です。

0 0
0 243

これは、InterSystems FAQサイトの記事です。

メール送付のコードを記述する前に、管理ポータルで SSL/TLS 構成を作成します。

管理ポータル > システム管理 > セキュリティ > SSL/TLS 構成

メール送付までの流れは以下の通りです。

0 0
0 339

タイムトラベルとはパリを訪ねるようなもの。 ガイドを読むだけじゃなく、そこに足を踏み入れなければならない。 ご飯を食べて、動詞の使い方を間違えたり、2 倍の料金を請求されたり、見ず知らずの人とキスするものさ。

ドクター

これから時空を超えた旅をしましょう。未来と過去の日付を見て、様々なフォーマットで計算する方法を説明します。 ターディスは待ちません。コントロールに就いてしっかりつかまりましょう。

ターディスでの旅

0 0
0 100

ターミナルにライセンス期限切れの警告メッセージ(「*\* Warning: This Cache license will expire in 3 days **」)が表示されており、そのメッセージを表示したくない場合は、以下のコマンドを実行すると、メッセージの表示を無効(または有効)にできます。

Do ExpirationMessageOff^%SYS.LICENSE - Disable

Do ExpirationMessageOn^%SYS.LICENSE - Enable

0 0
0 68

FHIR関連トレーニングの中で複数の方よりいただいたご質問をご紹介していきます。


IRIS for HealthのFHIRリポジトリでは、リソースPOST時のデフォルトの動作としてリポジトリ内でユニークな論理ID(id)を自動的に付与します。

例えば、以下のようなPatientリソースをPOSTした場合

0 0
0 130

これは InterSystems FAQ サイトの記事です。

ユーザに権限を与えたい場合、「GRANT」コマンドや「GrantPrivilegeメソッド」を使用しますが、ロールに対しても権限を与えることができます。

例えば、特定スキーマにのみ何でもできるロールを作成し、それを特定のユーザに割り当てるようなことが可能となります。

こちらの記事では、その方法をご紹介します。


(1) GrantPrivilegeメソッドを使用して「スキーマXXX に何でもできるロール」を作成し、
(2) 該当ユーザに (1) のロールを割り当てる



★GRANT文を使う場合

0 0
0 39

これはInterSystems FAQ サイトの記事です。

InterSystemsでは、パフォーマンスの影響や動作不調を避けるために、データベースファイルを含む主要なコンポーネントをウイルススキャンの対象から除外していただくことを推奨しております。

具体的には、アンチウイルスソフトのスキャン対象から、以下のファイルを除外してください。

  • データベースファイル(IRIS.DAT/CACHE.DAT)
  • <インストールディレクトリ>/bin 内の実行可能ファイル(EXE)
  • ライトイメージジャーナル(WIJ)
  • ジャーナルディレクトリ内のジャーナルファイル

上記ファイルが、アンチウイルスソフトで除外設定されていない場合、「SERIOUS DISK WRITE ERROR...」 のようなエラーが発生する場合があります。

0 0
0 235

これは、InterSystems FAQサイトの記事です。

$SYSTEM.Process.TerminalPrompt() を使用してターミナルのプロンプトを変更できます。

プロンプトの表示形式は、以下情報の組み合わせで指定できます。

  1. ホスト名
  2. 現在のネームスペース
  3. 構成名
  4. 現在の時刻
  5. PID: オペレーティングシステム上でのプロセスID
  6. ユーザーネーム
  7. 最後のコマンドを実行してからの経過時間

例えば、Do $SYSTEM.Process.TerminalPrompt(1,3) ではホスト名と構成名をターミナルのプロンプトとして表示します。

*実行例は、ホスト名="HOST1"、構成名="IRIS"*

USER>Do $SYSTEM.Process.TerminalPrompt(1,3)
HOST1:IRIS>
0 0
0 172

質問

現在使っているリレーショナルデータベースからInterSystems IRIS Data Platformに移行することは可能ですか?

答え

InterSystems IRIS Data Platform(以下IRISと表記)は、SQLをサポートしていますので、多くの場合リレーショナルデータベースで構築されたアプリケーションは、大部分のコードを変更することなくIRISに移行することができます。

ただしSQLの各実装毎にSQL標準を拡張した仕様等があり、それにIRISが全て対応していませんので、コードの書き換えが必要なケースもあります。

また各実装が独自に用意した標準でない通信系API等にも対応していませんので、その場合にはJDBC、ODBCなどの標準的な通信APIに置き換える必要があり、かなり書き換えが必要になります。
(使用されているSQL文等はそのまま流用可能な場合が多いです。)

さらにそのままコードを移行できるケースであっても動作保証はできませんので、必ず動作確認のためのテスト作業は必要になります。

0 0
0 95
記事
· 2021年6月23日 10m read
InterSystems Cachéのマクロ

この記事では、InterSystems Cachéにおけるマクロについて説明します。 マクロは、コンパイル中に一連の命令に置き換えられるシンボリック名です。 マクロは、渡されたパラメーターとアクティブ化したシナリオに応じて、呼び出されるたびに一連の命令セットに「展開」されます。 これは、静的コードの場合もあれば、ObjectScriptを実行して得られる結果である場合もあります。 それでは、アプリケーションでマクロをどのように使用できるのかを見てみましょう。

0 0
0 203

これは InterSystems FAQ サイトの記事です。

インターシステムズは、特定のオペレーティングシステムのバージョンの特定リリースに対して、製品の検証は実施しておりません。

特定リリースとは、例えば、Windows Server 2003 R2やWindows Server 2008 R2などを指します。

これらの保証については、オペレーティングシステムベンダーが互換性を保証する限りにおいて、提供されます。

特別な状況の詳細は、下記弊社ホームページのサポート情報に明記しています。

最新プラットフォーム情報とリリースノート


明記されていない場合には、オペレーティングシステムベンダーが互換性を保証する限りにおいて、特定リリースもサポート対象となります。

0 0
0 174

これは InterSystems FAQ サイトの記事です。

システムユーティリティクラスを利用したプログラムを作成することで出力できます。

【注意1】出力データの区切り文字がカンマではなくタブで出力されます点、ご注意ください。

【注意2】エクセルでタブ区切りのファイルを開くため、エクセルの開くメニューから出力したファイルを開いてください。

処理概要は以下の通りです。

1) %SYSTEM.SQL クラス(※)の Execute() メソッドを使用します。

第1引数:SQL文を指定します。

第2引数:内部日付が格納されている場合 yyyy-mm-dd で出力されるように表示モードを切り替えます。(1:odbcモード)

詳細は下記ドキュメントページおよびクラスリファレンスをご参照ください。

0 0
0 702

これは、InterSystems FAQサイトの記事です。


Windowsでは、変更することはできませんが、Unix系プラットフォームでは、iris rename コマンドを使用することで変更できます。

iris rename instname(現インスタンス名) newname(新インスタンス名)


iris rename コマンドの詳細は、以下ドキュメントをご参照ください
iris コマンドについて

0 0
0 113

これは InterSystems FAQ サイトの記事です。

TRYブロック内で任意のカスタムエラーを発生させたい場合、以下のように throw で例外を渡すことが可能です。

以下のサンプルでは、Stcount が 1 より小さい場合にカスタムエラーを発生させています。

0 0
0 202

FHIRリソースをリポジトリから削除するには、対象リソースに対してDELETE要求を使用すればよいのですが、例えば「テスト的に登録していたリソースばかりなので、リポジトリのデータを一括で全消去したい!」という場合の方法をご紹介します。

実行前に、エンドポイントのURLを確認します。

管理ポータル > [Health] > ネームスペース選択 > [FHIR Configuration] > [Server Configuration] で確認できます。

データの全消去を行うには、IRIS for HealthのFHIRサーバ機能で提供されているAPIを使用します。実行のため IRISのターミナルを開く、またはIRISにログインします。

0 0
1 187

これは InterSystems FAQ サイトの記事です。

InterSystems IRIS との通信に SSL/TLS を使用する際のクライアントの構成は、使用する技術によって変わってきます。


1. ODBCクライアント、IRISクライアントから接続の場合(IRISスタジオやターミナルなど)
2. .NET クライアントから接続の場合(SSLDefs.iniは要りません)



★1.ODBCクライアント、IRISクライアントから接続の場合(IRISスタジオやターミナルなど)

ODBCやIRISクライアントから接続する場合は、以下の記事にある設定が必要となります。
具体的には、SSLDefs.iniという設定ファイルを作成し、決められた場所に配置します。

0 0
0 46

これはInterSystems FAQ サイトの記事です

%ZSTARTルーチンを インスタンス開始時に起動しないように構成設定用ファイルを手動で変更します。

【注意】
インスタンスの起動環境の変更は、通常管理ポータルで行うものなので、以下に説明する方法は、%ZSTART の SYSTEM ラベルの動作を無効化する方法以外では利用しないようにしてください(別のパラメータを誤って修正してしまった場合、起動できなくなる可能性がありますのでご注意ください)。

1. インスタンス のインストールディレクトリ以下にある構成設定用ファイル(cache.cpf/iris.cpf)をテキストエディタで開きます。
 ※構成ファイルは、事前にバックアップ(コピー)していただくことを推奨します。

2. [Startup]セクションにあるSystemStartの値を0に変更し、保存します。

3. ファイル変更後、一旦 インスタンスを通常の方法で停止し、再度開始してください。

0 0
0 103

これは InterSystems FAQ サイトの記事です。
※記事後半に、「2>&1」で 標準エラー出力(2) を 標準出力(1) にリダイレクトする方法を追記しました。

$ZF(-100) では実行したコマンドの出力を取得することはできませんが、代わりにコマンド・パイプ デバイスを使用する方法があります。

詳細は、以下ドキュメントをご参照ください。

コマンド・パイプ デバイスを使用する方法について

こちらを %File クラスで使用した例が以下になります。

0 1
0 384

これは、InterSystems FAQサイトの記事です。

システム日付の変更をすると、InterSystems Data Platform(以下IRIS)が正常に開始しなくなる場合があります。

IRISは開始時にジャーナルファイル削除処理を行いますが、システム日付を変更すると不正な日付のジャーナルファイルが作成されます。

ジャーナルファイル削除処理では、ジャーナルファイル内部に記録された前後のファイルの情報も参照し処理を進めます。

システム日付けの変更によりジャーナルファイルの繋がりに矛盾が生じると、削除処理でループ状態となり、IRISの開始処理が完了しなくなることがありますので、ご注意ください。

システム日付を変更することはIRISに限らず、OSやミドルウェア、その上で動作するアプリケーションの依存性など様々な影響の可能性が考えられます。

テスト・検証などの関係で、どうしてもシステム日付を変更しなければならない場合には、IRISのアンインストールや再インストールが自由に行える環境(仮想環境など)でテストされることを推奨致します。

0 0
0 584

これは InterSystems FAQ サイトの記事です。

アプリケーション等がデータベースにアクセスしている最中に、データベースの最大サイズの変更や未使用領域の開放などのデータベース設定変更を行うことにより、データベース整合性等に悪影響を及ぼすことはありません。

しかし、未使用領域の開放などは、ディスクアクセスの増加やメモリの使用等でシステムに負荷をかける可能性があるため、その観点からシステム運用に影響が出ないよう注意が必要です。

0 0
0 122

これは InterSystems FAQ サイトの記事です。

アプリケーションに求められる要件は日々複雑化しています。

しかし、複雑化するからといって開発のスピードおよび実行時のスピードが遅くなることは許されません。

複雑な要件を満たすために現在主流の手法ではソフトウェアスタック上の様々な部品(ミドルウェア、ライブラリ、フレームワークなど)を組み合わせる方法を取ります。

この方法は、様々なものを学習するための時間、それらを連携する方法、経年で様々なものが進化していくことに伴って各部品間の関係性が変化するためにそれらを維持管理していくための手間など様々な付帯的な作業が必要です。

結果として本来行いたいことに集中して取り組む前に付随する作業に忙殺されることになり開発生産性があがりません。
しかも実行時にも様々な部分が連携するためのオーバーヘッドを避けることができず期待する性能を確保することも困難になります。

0 0
0 122

これは InterSystems FAQ サイトの記事です。

管理ポータル接続時に指定しているWeb サーバポートが正しい番号を指定しているかご確認ください。

Windows にクライアントツールのインストールを行っている場合は、ランチャーに登録している接続サーバの設定に問題がある場合が考えられます。

ランチャー > 優先接続サーバ > 追加/編集 で、接続先の Webサーバポートが正しく設定されているかご確認ください。

0 0
0 319

開発者の皆さん、こんにちは。

いつも使用しているユーザでアプリケーションや InterSystems 製品(IRIS/Caché/Ensemble/HealthShare) にアクセスしたとき、セキュリティ設定変更などの影響で急にアクセスできなくなった!という場合に、調査に便利な監査ログの参照方法をご紹介します。

ここでは、%Allロールを持つシステム管理ユーザ( _system や SuperUser )で管理ポータルにアクセスできる状態での確認方法をご紹介します。

監査ログですが、まずはシステムで監査が取られる設定になっているかご確認ください(通常無効化されている場合は、調査の時だけ有効に変更してください)。

管理ポータル > システム管理 > セキュリティ > 監査 > 監査を有効に

次に、アクセスできなくなった原因を探るため、以下のシステムイベントの監査を取得できるように変更します。

0 0
0 591

これは、InterSystems FAQサイトの記事です。

システムユーティリティクラス:SYS.Database のクエリ:FreeSpace を利用してディスクの空き容量を任意のタイミングで確認することができます。

0 0
0 142

IRIS for HealthのFHIRリポジトリには、「条件付き削除結果の最大数」がデフォルトで3件に設定されています。

そのため、条件指定のDELETE要求で4件以上が対象となる場合、以下のエラーが発生します。

例えば、あるcodeで条件指定したリソースが5件あるとします。

これをDELETE要求に変えて実行すると、以下のようにHTTPステータス412が戻り、「Conditional delete search found more than maximum allowed number of 3 results」のエラーが発生します。

HTTP応答を確認すると、ConditionalDeleteOverflowのエラーが発生しています。

0 0
0 116

これは InterSystems FAQ サイトの記事です。

新しいインデックスを定義した後、インデックスの再構築が完了する前にクエリを実行するとデータが存在しているにもかかわらず「検索結果0件」や検索結果数が徐々に増えるような状況が発生します。

インデックスを永続クラス定義(またはテーブル定義)に追加しコンパイルすることで今まで使用していたクエリ実行経路が削除され、再度同じクエリを実行するタイミングで新しいインデックス定義を含めた実行経路が作成されるためです。(この時にインデックス再構築が完了していないとインデックスデータが存在しない、または不完全であるため0件や徐々に検索結果数が増えるような状況を起こします。)

これを起こさなために、新しいインデックスの再構築が終了するまでクエリオプティマイザにインデックスを使用させないように指定する方法が用意されています。

※インデックスの再構築が完了したら、必ず指定を元に戻してください。

0 0
0 39