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

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

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

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

 CacheStop.bat ※InterSystems Caché の場合

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

 IRISStop.bat ※InterSystems IRIS の場合

1 0
0 191

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

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

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

VBAマクロサンプル

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

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

1 0
0 103

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

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

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


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

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

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

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

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

0 0
0 114

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

答え:必要ありません。

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

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

0 0
0 39

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

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

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

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

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

0 0
0 88

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

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

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

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

0 0
0 143

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

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

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

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

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

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

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

1 0
0 82

はじめに

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

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

0 0
0 858

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

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

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

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

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

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

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

0 0
0 89

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

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

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

0 0
0 49

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

$ZSTRIPコマンドは、指定された文字列から文字のタイプと文字を削除します。
このコマンドを使用することで文字列から数値部分のみを抽出することが可能です。

$ZSTRIP(string,action,remchar,keepchar)

第1引数(string) :対象文字列
第2引数(action) :string から削除する対象。アクションコードとマスクコードで構成。
第3引数(remchar) :削除する特定の文字を指定。第2引数のマスクコードに含まれない文字も指定可能。【オプション】
第4引数(keepchar):削除しない特定の文字を指定。【オプション】

以下はその例です。

0 0
0 124
記事
Hiroshi Sato · 2021年9月2日 2m read
$ZF(-100)の使用方法

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

$ZF(-100) のコマンドは、以下のフォーマットで使用します。

$ZF(-100, フラグ, コマンド名, コマンドの引数)

OSコマンドを実行する場合は、「/shell」フラグが必要です。
例えば mkdir であれば、次のように使用します。

// mkdir C:\temp\newdir
Write $ZF(-100, "/shell", "mkdir", "C:\temp\newdir")

コマンドの引数が複数ある場合は、以下の例のように引数の数だけ二重引用符で括ってカンマ区切りで指定します。

0 0
0 183

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

InterSystems製品のクラスクエリにはSQL文を利用する方法と、ユーザコードによる記述が選択できます。

スタジオメニューの [クラス] >[追加] > [クエリ] を選択すると、クエリウィザードが起動します。


画面に、「実装」を選択する項目があり、「このクエリはユーザコードで定義されている」を選択すると SQL文ではなく、ユーザコードによりクエリ定義が行えます。

1 0
0 121

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

24時間停止しないシステムの場合、「ジャーナルファイルの削除設定」に合わせて 0時30分 に古いジャーナルファイルを削除します。

「ジャーナルファイルの削除設定」より古いジャーナルファイルが残っている原因として、オープンされたままのトランザクションが存在していることが考えられます。

その場合、トランザクション実行中プロセスを探し、トランザクションを確定させることでジャーナルファイルを削除できるようになります。

以下のサンプルは、オープンされたままのトランザクションの存在確認と、存在する場合は対象ファイル名とジャーナルレコード情報が出力されます。

(サンプルは、https://github.com/Intersystems-jp/CheckOpenTransaction からダウンロードできます)

0 0
0 61
記事
Mihoko Iijima · 2021年8月30日 2m read
クエリをチューニングする方法

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

InterSystems 製品には、テーブルのコンテンツに関する統計を収集し、クエリの最適化に役立てる「テーブルチューニング機能」があります。

設定方法は、以下のドキュメントをご参照ください。

ターミナルでは次のコマンドを実行します。

Do $system.SQL.TuneTable("<テーブル名>",0,1)

また、以下の資料もご参照ください。

1) パフォーマンス調査の基礎知識として必要なグローバル構造の解説やSQLの動作の仕組みからクエリプランの見方の解説

インターシステムズ・シンポジア2011の資料

2) パフォーマンスチューニングの例(P13~)

インターシステムズ・シンポジア2012の資料

3) ビットマップ・インデックスの圧縮やオプティマイザ・ヒントなど、Caché SQLのパフォーマンスを最大限に引き出すための情報について

インターシステムズ・シンポジア2014の資料

4) パフォーマンスに困ったときにどこに着目し、どのツールで調べていくか、お客様から日々ご相談をいただくカスタマーサポートから、解決に向かうアプローチの「イロハ」をご紹介するビデオ

動画:Performance 101

5) 開発者コミュティのパフォーマンス関連情報(performanceタグ)

performanceタグ

1 0
0 82

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

リレーションシップが設定されており 1対n の n が多量の場合、そのリレーションシップの順次処理などで大量のメモリ消費となるケースがあります。

プログラムの中で多側オブジェクトを参照し内部的にスウィズル処理した後には、そのOREFを含む変数の解放(削除、他の値の設定など)だけでは、その多側オブジェクトとリレーションシップオブジェクトが解放されないことが原因です。

それらを完全にメモリから解放するためには、OREF変数の解放とRelationshipオブジェクトの%UnSwizzleAt<%Library.RelationshipObject >メソッドの実行による明示的なメモリ解放が必要です。

- 使用例 -

0 6
0 118

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

こちらは、コンパイル時に既にそのクラスのインスタンスを開いている場合に起こるエラーです。

対処方としては以下の2つの方法があります。

  1. インスタンスを開いているプロセスまたはアプリケーションを終了する
  2. スタジオのビルドメニュのコンパイルオプション:コンパイルフラグ “使用中のクラスをコンパイル” をチェックしコンパイルを行う


インスタンス化しているプロセスを特定したい場合は、以下のサンプルルーチンをお試しください。

0 0
0 57

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

InterSystems IRIS Business Intelligence 用メニューの Analytics(または DeepSee)を使用するためには、使用するネームスペース用ウェブアプリケーションパスを Analytics(またはDeepSee)に対応するように設定変更する必要があります。

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

【IRIS】
InterSystems IRIS Business Intelligence の Web アプリケーション設定について

【2015.1~2018.1】
DeepSee の Web アプリケーション設定について

【~2014.1】
%CSPページへのアプリケーション・アクセスの制御について/特殊なケース: DeepSee

0 0
0 35

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

※データベースファイルとは、IRIS.DAT、および、CACHE.DATのことを指します。

Caché/Ensemble 2018.1.4、IRIS 2019.1.2/2020.1.0 以降のバージョンより、データベースファイル のサイズの縮小に、データベースの「圧縮」と「未使用領域の削除」機能をあわせて使用できます。

1 0
0 285

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

以下のような情報収集ツールがあります。

1) 性能評価の為のツール

GLOSTAT グローバルアクセスのカウンター情報
mgstat グローバルアクセスのカウンター情報を連続してファイルに記録する
JOBEXAM 問題のあるプロセスをモニターする
SystemCheck または Buttons

内部情報の収集

使用方法詳細は以下の記事もご参照ください。

1 0
0 52

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

ジャーナルファイルの削除は、自動削除と手動削除が選択できます。


「自動削除」については、以下2つの方法が選択できます。

A) タスクスケジュールを使用して指定時間に自動削除する方法
B) オンラインバックアップ使用時、指定回数成功後に自動削除する方法

A) タスクスケジュールを使用して指定時間に自動削除する方法

インストール時デフォルトで登録されるタスクスケジュール「ジャーナルファイルの削除」を使用して自動削除します。
自動削除を行う前に運用環境に合わせて適切な日数分ジャーナルを保持するよう、ジャーナルファイルの設定を修正します。

0 0
0 319

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

あるユーザが「不活動上限」を超える期間にわたって、一度もInterSystems製品にログインしなかった場合、そのユーザは無効になりログインできなくなります。

なお、この設定の初期値は、インストール時の初期セキュリティによって変わります。
「通常」以上では既定値は90日間、「最小」では0日に設定されています。
ユーザを有効に変更することにより再びログインすることができるようになります。

2007.1以降であれば%Allを持つユーザが最低1つは残っていますので、そのユーザでログインできればそこから設定を変更します。(%Allを持つユーザは、インストール時のセキュリティ設定によって異なります)

使用できるものがわからないときは、InterSystems製品を緊急アクセスモードで起動してログインします。

<緊急アクセスモードからの復元方法>

0 0
0 250

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

ディスクの空きスペースにもよりますが、ブロック別で最大サイズが異なります。

各バージョン共通で、8KBのブロックサイズを使用した場合は、32TBです。

バージョン2008.1以降のバージョンでは、8KB以外のブロックサイズを指定できるようになったため、最大サイズは以下の通りです。

  • 16KBのブロックサイズを使用した場合、64TB
  • 32KBのブロックサイズを使用した場合、128TB
  • 64KBのブロックサイズを使用した場合、256TB
1 0
0 82

これは 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 はアップグレード後にコンパイルが必要となります。

ただし、メンテナンスリリースへのアップグレードの場合は、コンパイルは不要です。詳細は、以下ドキュメントをご参照ください。

0 0
0 46

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

<STORE> エラーは サーバ上のプロセスが使用しているプロセス個別メモリ容量が上限に達した場合に発生します。
このメモリはオブジェクトを開いたり、ローカル変数を使用することで消費されるものとなります。
このエラーは サーバ上のプロセスでメモリを大量に使用した場合に発生します。
Caché バージョン2012.2以降、プロセス個別のメモリ容量の最大値が大幅に拡張されました(約2TB)。

この変更により、ローカル変数の使用領域を大幅に増やすことができるようになったため 特別な状況が発生しない限り(プログラムのバグにより大量のローカル変数を作成し続ける等) エラーを回避できるようになりました。

但し、このためのメモリ領域は、プログラムが動作するハードウェアが提供する資源の一つですので物理的な制限は当然あります。
システム全体の資源管理を念頭に置き慎重な使用をお勧めします。

設定値詳細については以下ドキュメントをご参照ください。

0 0
0 142

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

InterSystems 製品は複数の SQL 文を一度に受け付けませんので、SQL 文での複数結果セットのサポートはありませんが、ストアドプロシージャを作成して複数の結果セットを返すことができます。

以下、ストアドプロシージャの中では、 %SQL.Statement クラスを利用して SQL を実行し、結果セットを作成し、結果セットを呼び出し元に返すため、ストアドプロシージャ実行時に自動生成されるプロシージャ・コンテキスト(=%sqlcontext 変数に格納)の中に、結果セットを登録しています。

0 0
0 129

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

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

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

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

0 0
0 101

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

%SQL.Util.Procedures クラスの CSVTOCLASS() メソッドを使ってCSVファイルからデータをロードすることができます。

サンプルコードに合わせて使用方法を解説します。

以下のコードでは、c:\temp\test.csv の内容を変数 rowtype で指定した列の形式で csv.test というクラスにデータをインポートしています。

クラス csv.test が存在しなければ、実行時にそのクラスも自動的に生成されます。

クラスが存在する場合は、定義済プロパティに合わせて変数 rowtype に列の形式を指定する必要があります。

0 0
0 175
記事
Mihoko Iijima · 2021年7月5日 1m read
データベースの暗号化の仕組み

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

バージョン5.1以降、データベース単位に暗号化する仕組みが用意されています。

InterSystems data platform のデータベース暗号化は物理ブロックレベルの暗号化ですので、暗号化のオーバヘッドが非常に少なく、性能への影響が極小化されており、暗号化されている項目のインデックス化に制限等がありません。

関連記事もご参照ください。

データベースの暗号化手順について

0 0
0 45