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

文字コードの変換に利用できる変換テーブル名は、以下のシステム関数で取得できます。 

 

 Write $$GetIONames^%SYS.NLS()

 

現在のロケールにおいて各デバイス(ファイル、ターミナル等)のデフォルトの変換テーブル名を取得するには、%SYS.NLS.Table クラスを使用します。

確認方法は以下の通りです。

(1) システムデフォルト設定を取得するため、%SYS.NLS.Table のインスタンスを生成します。(引数に、"System" を指定します。) 

 

 set obj=##class(%SYS.NLS.Table).%New("System")

 

(2) GetIOTable() メソッドを使用して、確認したいデバイスの現在の変換テーブル名を取得します。

00
0 0 4

これは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 バッファの不足が検出されています。

00
0 0 5
記事
Hiroshi Sato · 2021年10月12日 1m read
DBリストア手順

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

^BACKUP ユーティリティを使用して、DBリストアする方法をご紹介します。

添付のドキュメントでは、オンラインバックアップ と レガシー並行外部バックアップ の2種類のバックアップからのリストア処理の方法を紹介しています。

リストア処理の詳細は、下記ドキュメントページを参照してください。

00
0 0 7

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

ファイルサイズを取得する専用メソッドはありませんが、%Net.FtpSession クラスの sendCommand() メソッドを通してFTPのSIZEコマンドを呼び出し、サイズを取得できます。

簡単な利用例をご紹介します。

まず、以下の様なクラスを定義します。

 

00
0 0 5

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

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

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

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

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

 

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

00
0 0 7

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

ネットワーク共有フォルダ/ネットワークプリンタにアクセスしたい場合、以下の2つの方法があります。

A. net use コマンドを使用する方法
B. IRISの起動ユーザを変更する方法

詳細は以下をご覧ください。

------------------------------------------------------------------------------------------
【方法A】net use コマンドを使用する方法
------------------------------------------------------------------------------------------

1) IRIS からネットワーク共有フォルダへのアクセスを許可する場合、以下のコマンドを実行するように SYSTEM^%ZSTART に記述します。

00
0 1 165

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

ターミナルでルーチンを実行し、プログラム上でエラーが発生した時に、エラートラップを適切に設定していない場合、以下のようなデバッグモードになります。

USER>do ^error1
 write A
^
a+2^error1 *A
USER 2d0>

 

この状態から、ルーチン起動の前の状態に戻るにはQuitコマンドを入力します。

USER 2d0>Quit

 

またエラーが発生したルーチン内でトランザクション処理を行なっている場合には、以下のような表示のプロンプトになります。

10
0 0 16

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

ジャーナルファイルのサイズが大きすぎて、管理ポータルで検索やフィルタリング等できない場合、以下の2つの方法で参照することができます。

① ^JRNDUMP ユーティリティを使用する方法
② プログラムで参照する方法

============================================================ 

① ^JRNDUMP ユーティリティを使用する方法 例えば、グローバル参照 ^ABC を含むジャーナルファイルのすべてのレコードを選択する場合は、以下のようになります。


※以下、すべてのコマンドは %SYS ネームスペースで実行してください。


DO SELECT^JRNDUMP("C:\MyCache\mgr\journal\YYYYMMDD.001","","","^ABC",1)

00
0 0 12

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

ジャーナルレコードの「時間」には、ジャーナルバッファを初期化したときの時間が登録されています。

ジャーナルレコードの時間は、ジャーナルバッファ毎に記録されているため、同じジャーナルバッファ内のジャーナルレコードはすべて同じ時間になります。

なお、ジャーナルバッファは、64KBのサイズで255個存在していて、1つのジャーナルバッファが満杯になった場合、次のジャーナルバッファへレコードを追加するように順番に使用されます。

ジャーナルレコードの時間は、次のバッファへレコードを追加する前に行われる初期化の時間が記録される仕組みになっています。

00
0 0 7

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

Web/CSPゲートウェイ管理ページは、通常クライアントマシンからアクセスできないように構成されています。


任意のクライアントからアクセスするためには以下の操作を行います。

Web/CSPゲートウェイ管理ページにアクセス可能なシステムからブラウザを起動し、管理ポータルにアクセスします。
管理ポータル>システム管理>構成>の所でCSPゲートウェイ管理をクリックします。
表示されるページの左ペインに表示されるデフォルトパラメータをクリックします。

システム管理マシンの所に*.*.*.*と入力し、設定を保存ボタンを押下げます。

しかしながら任意のクライアントから管理ページにアクセスできるようにするのはセキュリティの観点からはあまりお勧めできません。
アクセスできるクライアントはなるべく限定することをお勧めします。
クライアントアドレスの指定方法としては、以下のような指定形式があります。

00
0 0 6

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

IRIS.DAT/CACHE.DATのタイムスタンプ更新は、データベースの内容の更新後のディスマウント時 (明示的なディスマウント処理または停止処理の際、 または、 データベースファイルのサイズ拡張時に発生します。

00
0 0 12

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

こちらでは、タスクスケジュールを登録・参照するサンプルコードをご紹介します。

①タスクスケジュール登録のサンプル

※毎日 am1:00に do ^TEST を実行するタスクを作成します。 

 

10
0 0 13

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

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

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

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

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

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


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

00
0 0 11

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

リストコレクション(Property XXX As list of %String;)で定義したプロパティは、SQL関数: $LISTBUILD() 、$LISTFROMSTRING() を使用して操作できます。


各SQL関数については、下記ドキュメントページをご参照ください。

00
0 0 11

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

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

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

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

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

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

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

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

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

00
0 0 12
記事
Hiroshi Sato · 2021年9月23日 1m read
レコードマップで何ができるか?

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

レコード・マップは、区切り文字付きのレコードや固定幅のレコードを含むファイルをInteroperability機能で使用するメッセージクラスへマッピングしたり、Interoperability機能のメッセージクラスからテキストファイルへマッピングする作業を効率的に行うための機能です。

レコードマップのマッピング定義は管理ポータルで作成でき、CSVファイルを読み込ませながら定義するCSVレコードウィザードも提供しています。

プロダクションでレコードマップを利用する場合は、レコードマップ用ビジネス・サービス、またはビジネス・オペレーションを追加し、作成したレコードマップ定義クラスを指定すれば完成です。

使用例については添付をご参照ください。

レコードマップの詳細な説明は、以下のドキュメントをご参照ください。

00
0 0 12

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

タスクスケジュールを別環境にコピー(エクスポート/インポート)するには、以下の2つの方法があります。

  1. 個別にエクスポート/インポートする場合(管理ポータルで行う方法)
  2. 複数のタスクスケジュールをエクスポート/インポートする場合(%SYS.TaskSuperクラスを使用する方法) 

1.個別にエクスポート/インポートする場合 管理ポータルから行うことが可能です。

個別のスケジュールを開くと、エクスポートボタンがあるので、そちらからエクスポートしてください。

インポートも同じく管理ポータルから行えます。

2.複数のタスクスケジュールをエクスポート/インポートする場合 タスクスケジュールのエクスポートには、%SYS.TaskSuper クラスの ExportTasks() メソッドをお使いいただけます。

実行例は以下のようになります。 

00
0 0 11

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

%IndexBuilder クラスを使用して、複数プロセスを利用してインデックス再構築を行うことができます。

Sample.Person の Home_State(連絡先住所の州情報)カラムに対して標準インデックス HomeStateIdx を定義する目的での例で記載します。

手順は以下の通りです。

1、追加/再構築予定のインデックス名をクエリオプティマイザから隠します。

>write $system.SQL.SetMapSelectability("Sample.Person","HomeStateIdx",0)
1

2、新インデックスを定義するクラス定義のスーパークラスに %IndexBuilder を一番右端に追加します。

10
0 0 17

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

Windowsのグループセキュリティポリシーに停止コマンドを記述したバッチファイルを登録する事により可能です。

手順は以下のとおりです。

1.Windowsのローカルコンピュータ・ポリシーのシャットダウンスクリプトに停止コマンドを登録します。
  停止コマンドを含んだbatファイルを作成します。

 CacheStop.bat    ※InterSystems Caché  の場合

c:\intersystems\cache\bin\ccontrol stop CACHE

 IRISStop.bat     ※InterSystems IRIS の場合

10
0 0 14

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

Excelのマクロ機能を使ってVBAからREST/JSON経由でアクセスすることが可能です。

REST/JSONを使用したInterSystems製品との連携の簡単なサンプルを以下のGitHubサイトから入手できます。

VBAマクロサンプル

マクロサンプルは Solution/activityreport.xlsm をご覧ください。

サンプルは、コンテナを利用しています。READMEに記載の方法でコンテナを開始し、Solution/activityreport.xlsm の「データ取得」ボタンをクリックすると以下の結果が得られます。

10
0 0 21

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

※ IRIS Data Platformのサーバーライセンス(プロセッサーコア単位の課金)では以下の内容は適用されませんので、ご注意お願いします。

2012.1以降のバージョンより、ライセンス管理が厳格化されたために、管理ポータルでもライセンスを消費するようになりました。


デフォルトでは、管理ポータルは独立したID(CSPセッション)単位でライセンスを消費するために同一ユーザが複数ライセンスを消費するようになります。

スタジオ、ターミナル、管理ポータル全ての消費ライセンスをに同一ユーザにまとめる方法は以下になります。

(1) スタジオ、ターミナル、管理ポータルに共通ユーザでログイン

管理ポータル: [システム管理] > [セキュリティ] > [サービス]

以下3つを「パスワード」認証のみに変更

00
0 0 13

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

答え:必要ありません。

InterSystems 製品では、クライアント機能用に特別なライセンスを設けておりません。

通常のサーバーライセンス(サブスクリプションを含む)を保有していれば、そのサーバーライセンスで許容しているキャパシティに応じて、複数のクライアントシステムにクライアント機能をインストールして利用することができます。

00
0 0 9

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

管理ポータルの SQL 画面(管理ポータル > システムエクスプローラ > SQL)で、任意の SQL を実行した後、結果の行数などが表示されいる行の右端にある「印刷」のリンクから、CSVファイル出力を選択できます。

「クエリ印刷」画面で「ファイルにエクスポート」をチェックすると「ファイル形式」の欄が表示されます。

形式に「CSV」を指定し、出力ファイル名を指定したあと「エクスポート」ボタンをクリックすると出力できます。

注意:古いバージョンでは正しくCSV出力が行えない場合もあります。新しいバージョンをぜひご利用ください。

00
0 0 17

より産業向けのグローバルストレージスキーム

この連載の第1回では、リレーショナルデータベースにおけるEAV(Entity-Attribute-Value)モデルを取り上げ、テーブルにエンティティ、属性、および値を保存することのメリットとデメリットについて確認しました。 このアプローチには柔軟性という点でメリットがあるにもかかわらず、特にデータの論理構造と物理ストレージの基本的な不一致などによりさまざまな問題が引き起こされるという深刻なデメリットがあります。

こういった問題を解決するために、階層情報の保存向けに最適化されたグローバル変数を、EAVアプローチが通常処理するタスクに使用できるかどうかを確認することにしました。

パート1では、オンラインストア向けのカタログをテーブルを使って作成し、その後で1つのグローバル変数のみで作成しました。 それでは、複数のグローバル変数で同じ構造を実装してみることにしましょう。

00
0 0 12

特定文字列が含まれるグローバルを検索する時、どのように行われているでしょうか?

管理ポータルでグローバルを表示して Ctrl+F で検索することもできますが、サイズが大きなグローバルでは表示に時間がかかり難しい場合もあります。

もちろん、$ORDER  や $QUERY 関数でループして含まれる文字列を検索することは可能です。

しかし、もっと簡単で便利な方法があります。

管理ポータルで行える、グローバル文字列検索機能 を使う方法です。

こちら、管理ポータルの [システムエクスプローラ] > [グローバル] :検索 から簡単に行えます

例えば、^%ISCLOGグローバルの中から「CSP error cleaning up after page」というエラーが含まれるグローバルを検索するときは以下のようになります。

00
0 0 20

はじめに

この連載の最初の記事では、リレーショナルデータベースのEAV(Entity–Attribute–Value)モデルを見て、それがどのように使用されて、何に役立つのかを確認しましょう。 その上で、EAVモデルの概念とグローバル変数と比較します。

原則として検索する必要のある、フィールド数、または階層的にネストされたフィールドの数が不明なオブジェクトがある場合があります。

00
0 0 29

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

Windows システムにインストールされた InterSystems 製品を削除するには、コントロールパネルにあるプログラムの追加と削除(Windows 10の場合は、Windows の設定からアプリを選択)を使用します。

システムに変更を加えますので、管理者権限を持ったユーザでログインして作業を行う必要があります。

1) 管理者(Administrator)でシステムにログインします。

2) システムトレイから、アンインストールを行う InterSystems 製品インスタンスのランチャーを終了します(ランチャークリック → 終了)。

3)コントロールパネルにある プログラムの追加と削除 (Windows 10の場合は、Windows の設定からアプリを選択)で

<InterSystems製品> instance [xxxx] ( xxxx にはインスタンス名が表示されています) を削除します。

00
0 0 12

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

%SYSTEM.License クラスのメソッド利用すると、ライセンス情報を取得できます(実行時は、$SYSTEM.License.メソッド名() と記述します)。 

%SYSTEM.License クラスは、ライセンスユーティリティ用システムオブジェクトです。

00
0 0 12