0 フォロワー · 362 投稿

InterSystems Ensembleはユーザー、プロセス、およびアプリケーションを記録的な速さで接続する使いやすい総合的な統合プラットフォームです。

詳細はこちらをご覧ください

ドキュメント

記事 Hiroshi Sato · 10月 19, 2020 5m read

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

一部のKernelパラメータはInterSystems製品を稼働するためには、不適切な値となっているため、調整する必要があります。

  1. kernel.shmmax (共有メモリセグメントの最大値)

     通常既定値で問題ありません。

   設定する場合は、共有メモリにあわせたshmmaxの値は以下の a)~ f) の合計値になります。

        a) データベースバッファ globals(Mbytes) x 1.075

            globals

        b) ルーチンバッファ routines(Mbytes) x 1.02

            routines

        c) 一般メモリヒープ gmheap(Kbytes) または core数 x 6(Mbytes)のいずれか大きな値の方

            gmheap

        d) ジャーナル・バッファ jrnbufs(Mbytes)
            jrnbufs

        e) ECP (MaxServers + MaxServerConn)*2(Mbytes)

             MaxServers MaxServerConn

        f) その他 10Mbytes

1
0 4957
記事 Toshihiko Minamoto · 2月 27, 2023 7m read

今回は、「孤立メッセージ」について説明します。

孤立メッセージとは何ですか?

すべてのメッセージボディは、メタデータを保持するメッセージヘッダと関連付けらます。ヘッダーには、ソース構成名称、ターゲット構成名称、作成時刻、処理時刻、関連するメッセージボディ参照、セッション情報、メッセージボディのクラス名称、メッセージステータスなどの情報が格納されます。 メッセージボディに対応するヘッダーレコードが存在しない場合、そのメッセージボディは孤立メッセージボディと呼ばれます。ここでは、孤立メッセージボディの原因となる可能性があるものについて説明します。

ヘッダーのみを削除する場合

削除タスクの設定において、BodiesToo メッセージヘッダとともにメッセージボディも削除するかどうかを指定するものです。この設定をOFFにすると、削除タスクはメッセージヘッダーのみを削除し、メッセージボディは残します。これらのメッセージボディは、参照されたヘッダが削除されることから、孤立したレコードとなります。 メッセージヘッダの削除したが、メッセージボディは残している場合、マネジメントポータルでは孤立メッ セージボディを削除する方法はありません。この場合、プログラムによってメッセージボディを削除する必要があります。

 

削除タスクについては、ドキュメントをご参照ください。

0
0 158
記事 Megumi Kakechi · 2月 23, 2023 3m read

弊社サポートセンターに、「IRIS SQLに Oracle の RANK() 関数のようものはありませんか?」というお問い合わせいただくことがあります。

IRIS2021.1以降のバージョンであれば、RANK() や ROW_NUMBER() などの ウィンドウ関数 がサポートされるようになりましたので、以下のように使用することができます。

// RANK() 関数
SELECTRANK() OVER (ORDERBY Age) as Ranking,Name,Age 
FROM Sample.Person 
WHERE Age > 60orderby Age
Ranking Name Age
1 Townsend,Neil W. 61
1 Murray,Terry J. 61
3 Huff,Patrick B. 67
4 Rotterman,Umberto A. 72
5 Quine,Imelda D. 75
6 McCormick,Imelda S. 80
7 Roentgen,Vincent Q. 81
8 Ueckert,Terry Q. 85
9 Perez,Ted P. 97
0
0 255
InterSystems公式 Seisuke Nakahashi · 2月 20, 2023

インターシステムズでは、お客様のニーズにお応えし、定期的に製品リリースのポリシーを変更しています。

今回新しくメンテナンスリリースの頻度を変更しました。これにより、大切なお客様やパートナーのみなさまが製品導入の計画をたてやすくなったり、機能改善の調整をしやすくなっていただければ幸いです。

本記事では、データプラットフォーム製品のリリース頻度を改めてお伝えするとともに、最新の変更点についてご案内いたします。

なぜ変更するのか?

  • お客様に私たちの新バージョンをより早くお届けするため。
  • お客様に新しいプラットフォーム (OSバージョンや周辺技術) により早く適応いただくため。
  • 特に3rdパーティーのライブラリにおいて発生する、セキュリティ問題により頻繁に対応するため。
  • お客様からの「より正確な製品スケジュール」へのリクエストに応えるため。

私たちのリリース頻度について変わらないこと

インターシステムズでは InterSystems IRIS 2018 から、以下2つの製品ラインをリリースしてきました (オリジナル記事はこちら)。

0
0 272
InterSystems公式 Toshihiko Minamoto · 2月 16, 2023

インターシステムズは、InterSystems IRIS® および Caché が、Windows 上でラージ・ページが割り当てられていることを示しているにもかかわらず、その利点を利用しないことがある問題を修正しました。この問題は、システム・パフォーマンスに悪影響を及ぼす可能性があります。

この問題は、InterSystems IRIS® および Caché を変更する必要がある Windows 10 の変更に起因しています。この問題は、InterSystems IRIS® または Caché をベースとするすべてのインターシステムズ社製品に影響します。この問題は、Windows の以下のバージョンで発生します。
 

            Windows 10 (バージョン 1703 以降)

            Windows 11

            Windows Server 2019

            Windows Server 2022

Windows Server 2016 は影響を受けません。

0
0 179
記事 Megumi Kakechi · 2月 2, 2023 2m read

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

クエリパフォーマンスを最適化するための方法の一つとして、クエリ単位またはシステム全体でクエリの並列処理を使用することができます(標準機能)。

こちらは、特定のクエリに対しマルチプロセッサシステムでクエリの実行をプロセッサ間で分割して行うものです。
並列処理の効果が得られる可能性がある場合のみ、クエリオプティマイザは並列処理を実行します。
並列処理の対象はSELECT文のみとなります。

なお、並列プロセスの数は、CPUの数に応じて自動で調整するため、数の指定は行えません。
現在のシステムのプロセッサ数は以下のコマンドで確認することができます。

USER>write$SYSTEM.Util.NumberOfCPUs()
8

以前は、クエリに %PARALLEL キーワードを付与することで並列処理が有効となっておりましたが、IRIS2019.1以降のバージョンより既定で「常時有効」となりました。

管理ポータル:
  システム管理 > 構成 > SQLとオブジェクトの設定 > SQL
    単一プロセス内でクエリを実行
    ※チェックを入れると並列処理は行わない(既定はチェックなし)


クエリ単位で並列処理を行わないようにする場合は、%NOPARALLEL キーワードを指定します。

0
0 250
記事 Mihoko Iijima · 1月 5, 2023 14m read

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

システムモニタの中の「アプリケーションモニタ」を利用することで、ユーザが定義した特定の監視対象に対してチェックを行い特定の条件に合致した場合に通知を行ったり、メッセージログ(コンソールログ)に情報を出力したり、ユーザが定義するアクションを指定できます。

<メモ>
アプリケーションモニタはインストールにより準備されますが、ユーザが付属のアプリケーション・モニタ・クラスを有効化するまで動作しないモニタです。
付属のアプリケーションモニタには、監査のカウントやイベント詳細を収集するもの、ディスクの容量を監視するものなどが含まれます。

詳細は、以下ドキュメントをご参照ください。
【IRIS】アプリケーション・モニタのメトリック
アプリケーション・モニタのメトリック

作成手順は以下の通りです。

  1. %SYSネームスペースにアプリケーションモニタ用クラスを作成する
  2. 作成した1のクラスを、システムモニタのアプリケーションモニタ有効化メニューで有効化する
  3. 収集のインターバルを設定する(秒単位)
  4. システムモニタを再起動する
0
0 196
記事 Megumi Kakechi · 12月 1, 2022 5m read

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

複数インスタンスでライセンスを共有する場合、ライセンスを統合管理するライセンスサーバの設定が必要です。

1. ライセンスサーバの構成


1) ライセンスキーの配置

ライセンスキー(IRIS.key/cache.key)は、すべての インスタンスの  <インストールディレクトリ>/mgr に配置してください。

ただし、IRIS 2021.1 以降のバージョンをお使いの場合は KeyDirectory を指定することで全てのインスタンスへのライセンスキーの配置は必要なくなります。

KeyDirectory を指定して各インスタンスにライセンスキーをロードする場合、LicenseID の設定が必要になります。
各インスタンスの開始時にローカルの iris.key ファイルが検出されない場合、LicenseID を使用してライセンスサーバにライセンスキーを要求します。
LicenseID  は、管理ポータルの以下のメニューで設定します。

管理ポータル:
 [システム管理] > [構成] > [追加設定] > [開始]:LicenseID


2) ライセンスサーバの設定

ライセンスサーバの設定は、全ての構成で同一のライセンスサーバを使用するように定義します(全ての構成で設定します)。
ライセンスサーバは、管理ポータルの以下のメニューで設定します。

0
0 572
記事 Megumi Kakechi · 10月 13, 2022 4m read

以下、デプロイモード(配置モード)でプログラムを配布する方法を2つご紹介します。

① DB内のソースコードをデプロイモードでエクスポートする方法

② ソースコード用DBを用意してIRIS.datごとデプロイモードにする方法

①は、プログラムのみデプロイモードでエクスポート/インポートできるので、初回システム構築時はもちろん、プログラムの修正が発生した時などソースの一部のみエクスポートすることも可能となります。
②は、IRIS.dat ごとデプロイするので初回システム構築時に IRIS.dat のみ配置すればよく手順が単純です。

クラスがデプロイモードになると、そのクラスのメソッドとトリガのソースコードは削除されます。
クラスがデータ型クラスである場合、クエリキャッシュによって実行時にメソッド定義が必要になる可能性があるために、メソッド定義が保持されるのでご注意ください。

 

それぞれの方法について、詳しく説明します。
 

① DB内のソースコードをデプロイモードでエクスポートする方法

(1) 開発環境:Hidden属性をオンにして保存し、Deployモードでエクスポートします。
   ※こちらの操作は、移行先環境で行うことも可能です。必要に応じて設定するようにしてください。

0
0 267
記事 Megumi Kakechi · 10月 6, 2022 4m read

Caché/Ensemble 時代からご使用のお客様にはなじみの機能だと思いますが、IRISには「システムがインスタンスのメッセージログ/messages.log(Cachéの場合は コンソールログ/cconsole.log) を監視し、ログ・レベル2(重大なエラー) 以上 のアラートを受け取るとメールを送信する」ログ・モニター機能があります。
この機能を使用すると、アラートログ (alerts.log)へのログ書き込み管理のほかに、メールを送信することもできます。

メール送信の設定は、^MONMGR ユーティリティを使用して簡単に行えます。

以下に、サンプルをご案内します。

0
0 287
記事 Megumi Kakechi · 10月 3, 2022 1m read

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

Question:

InterSystems IRIS は 2フェーズコミットをサポートしていますか?

Answer:

サポートしていません。

2フェーズコミットはデータベースシステムがサポートしているだけでは十分ではなく、アプリケーションサーバ等の各実装が定めている2フェーズコミットのプロトコルを駆使して、アプリケーションを構築する必要があります。

また関連するシステムの全てのコンポーネントが対応している必要がある、ロングトランザクションには向いていないなど、現実に実装する局面では様々な制約事項があります。

2フェーズコミットは、技術面、設計および実装面、コスト面、性能面などハードルが非常に高いため、実際には限られた領域での利用に留まっています。

0
0 99
記事 Megumi Kakechi · 9月 21, 2022 2m read

SQL ゲートウェイ接続を使用した、外部データベースへのアクセス方法についてご説明します。

手順は以下になります。
 

1. 外部ソースへの SQL ゲートウェイ接続の作成を行います

※こちらの例では、IRISの別インスタンスへの接続を試しています。 
※ODBCを使用される場合は、事前に
システムDSN(64bit)の準備が必要です。
管理ポータルより
 [システム管理] > [構成] > [接続性] > [SQLゲートウェイ接続] の 新規接続作成 ボタンをクリックします。

接続の種類を選択し、必要項目を設定します。以下のサンプルは、ODBC接続(別IRISインスタンスのDSN設定)を行っています。

     

※ODBC/JDBC 各接続定義の作成の詳細は、以下のドキュメントをご覧ください。
 JDBC 経由での SQL ゲートウェイへの接続
 ODBC 経由での SQL ゲートウェイへの接続

2. リンクテーブルウィザードを使用して、1で作成したSQLゲートウェイ接続に対してリンクテーブルを作成します

管理ポータルより
 [システムエクスプローラ] > [SQL] ページより、
  [ウィザード] > [リンクテーブル] をクリックしリンクテーブルウィザードを開きます。

 手順に従ってリンクテーブルを作成します。

0
0 570
記事 Toshihiko Minamoto · 9月 10, 2022 49m read

このフォーメーション私の GitHub にあり、30 分で csv ファイルと txt ファイルの読み取りと書き込み方法、Postgres を使ったIRIS データベースリモートデータベースの挿入とアクセス方法、FLASK API の使用方法について説明します。これらすべてに、PEP8 命名規則に従った、Python のみのインターオペラビリティフレームワークを使用します。

このフォーメーションは、ほとんどをコピー&ペースト操作で実行でき、グローバル演習を行う前に、ステップごとの操作が説明されています。
記事のコメント欄、Teams、またはメール(lucas.enard@intersystems.com)でご質問にお答えします。

このフォーメーションに関するあらゆる点において、ご意見やご感想をお送りいただけると幸いです。

1. Ensemble / Interoperability のフォーメーション

このフォーメーションでは、Python および特に以下を使用した InterSystems のインターオペラビリティフレームワークを学習することを目標としています。

  • 本番環境
  • メッセージ
  • ビジネスオペレーション
  • アダプター
  • ビジネスプロセス
  • ビジネスサービス
  • REST サービスと運用

目次:

0
0 230
記事 Megumi Kakechi · 9月 9, 2022 3m read

これは InterSystems FAQ サイトの記事です。
外部バックアップ機能と、SANソリューションが提供するスナップショット(スナップクローン、ミラークローンなど呼び方はベンダ毎に異なります)などのテクノロジを利用することで、バックアップ時のインスタンス停止時間を最短にすることができます。

操作手順概要は以下の通りです。

  1. 外部バックアップ用ユーティリティを利用して、データベースファイルへの書き込みを一時中断します(%SYSネームスペースで実行します)。
    %SYS>set status=##class(Backup.General).ExternalFreeze()
  2. 外部のスナップショットユーティリティを使用して、ファイルシステムのスナップショットを作成します。    
  3. データベースファイルへの書き込みを再開するため、外部バックアップ用ユーティリティを使用します。
    %SYS>set status=##class(Backup.General).ExternalThaw()
  4. バックアップメディアにスナップショットをコピーします。


【ご参考】
ExternalFreeze() の処理は以下のようになります。

 1.  ジャーナルファイルの切り替え
 2.  データベースバッファ上の書き込み待ちバッファをすべてデータベースファイルに書き出す
 3.  ライトデーモンをサスペンド状態にする

0
0 263
記事 Megumi Kakechi · 8月 30, 2022 4m read

これは InterSystems FAQ サイトの記事です。
InterSystems IRIS Data Platform(以下IRISと表記)ではマルチモデルのサポートにより、データに対して様々なアクセス手法を使用することができます。

主だったアクセス手法としてダイレクトアクセスSQLアクセスオブジェクトアクセスがあります。
 

ダイレクトアクセス は、IRISのネイティブ構造であるグローバルと呼ばれるキーバリュー型のデータに直接アクセスする方法です。

SQLアクセス は、リレーショナルデータベースシステムにアクセスするための標準言語であるSQLを使用してデータにアクセスする方法です。

オブジェクトアクセス は、オブジェクト指向言語でオブジェクトを操作するための表記法として幅広く利用されるドット記法を使用してデータにアクセスする方法です。


ダイレクトアクセスとSQLアクセスおよびオブジェクトアクセスでは、処理の抽象度が異なります。

抽象度が高くなるに伴い、内部的な処理のオーバヘッドが増加するため、単純な1スレッド単位でのアクセススピードの速さについては、ダイレクトアクセスが、SQLアクセスとオブジェクトアクセスに比較して速い場合が多いです。

しかしながら、今後SQLアクセスに関してより高速に処理できるよう様々な開発が進行中です。

0
0 459
記事 Mihoko Iijima · 8月 25, 2022 1m read

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

メモ:xxx にはネームスペース名が入ります。

xxxENSTEMPは、プロダクション実行中に作成される一時データが保存されるデータベースです。
^IRIS.Temp.Ens* のグローバルがこのデータベースにマッピングされています。なお、xxxENSTEMPはジャーナルにかかれない設定のデータベースです。

xxxSECONDARYは、プロダクションで使用される資格情報を保存するデータベースです。
^Ens.SecondaryData* のグローバルがこのデータベースにマッピングされています。

注意:InterSystems IRIS for Health、HealthShare ではこれらデータベースは作成されません

詳細は以下ドキュメントをご覧下さい。

InterSystems IRIS の一時プロダクション・データの格納場所

InterSystems IRIS のパスワード資格情報の格納場所

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

プロダクション:システムのデフォルト設定と認証情報の移行方法について

0
0 118
記事 Megumi Kakechi · 8月 18, 2022 1m read

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

クライアントからターミナルにログイン(接続)できない時、ターミナル接続を可能にするサービスが有効になっていないことが原因として考えられます。

ターミナル接続を可能にするサービスが有効になっていないことが原因として考えられます。

管理ポータル :[ホーム] > [システム管理] > [サービス] 

有効になっていない場合は、リンクをクリックしてサービス定義編集画面を開き、"サービス有効"にチェックを入れて保存します。

もう一つの原因としてはOSのファイアウォールによりターミナル接続が遮断されている場合が考えられます。

リモートでターミナル接続される場合はファイアウォールの設定を無効にしてお使い下さい。

0
0 432
記事 Toshihiko Minamoto · 8月 11, 2022 1m read

Studio では、クラスを直接その名前で開くことができます。何度もクリックしながら目的のクラスに到達するまでパッケージツリー内を移動する必要はありません。

Ctrl + O(またはファイル -> 開く)を押せば、以下のようにクラス名を入力するだけです。

Enter を押すと、クラスが開きます。

VSCode ではこれをどのようにして行えるでしょうか?

0
0 542
記事 Megumi Kakechi · 8月 8, 2022 3m read

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

テーブル(クラス) のデータを削除する際に %KillExtent() というメソッドを使用すると、レコードを1ずつ削除するのではなく、データを格納しているデータグローバル、インデックス定義のグローバル(ノード) をまとめて 削除することができます。

kill^ISJ.xxxD
kill^ISJ.xxxI

のようにデータグローバルやインデックスグローバルをまとめて削除するのと同じような動作となります。
そのため、ジャーナルレコードへの出力は最小限になります。


使用例:

write##class(ISJ.xxx).%KillExtent()


ただし、トランザクション下で実行すると一括 Kill の場合でも保存されているレコードに応じたジャーナルレコードが生成されるのでご注意ください。

また、以下のドキュメントの注意書きにあるように、他クラス(テーブル)への参照などが含まれているクラスで実施されると整合性に問題が発生する場合がありますのでご注意ください。

%KillExtent() メソッド
 

こちらを必要なだけ記述したタスククラスを作成すると、タスクスケジューラから定期的に実行できます。
タスククラスの作成方法は、以下のトピックをご覧ください。

【FAQ】定期的に処理を実行する事は出来ますか?


【ご参考】

0
0 289
記事 Hiroshi Sato · 8月 8, 2022 1m read

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

TCP アダプタを使用するビジネスホストの [接続中を維持(StayConnected)]と[プールサイズ(PoolSize)]のデフォルト設定値は以下の通りです。

StayConnected = -1(常時接続タイムアウト無し)
PoolSize = 1

ネットワークの問題でビジネスホストへの接続が切断された場合に、プロダクション側では切断されたことを検知できないため新しい接続を受け付けません。

またこの状況の時、イベントログにも記録されません。

StayConnected が デフォルト値(-1)の場合、接続がタイムアウトしないため新しい接続を受け付けるためには、ビジネスホストを再起動する必要があります。

このような状況を回避するためには、StayConnected を 0 以上の値に設定することを推奨します。

例えば300(秒)に設定した場合、TCP ビジネスホストは 300 秒以上新たなメッセージを受信しなかった場合に、自動的に接続を切断して再接続できます。

処理量の多いシステムの場合には、通常 StayConnected の値をさらに小さな値、例えば 5(秒)に設定します。

0
0 162
記事 Hiroshi Sato · 8月 8, 2022 1m read

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

コンソールログに任意のメッセージを書き込む方法として%SYS.System クラスの WriteToConsoleLog メソッドを使用することができます。

以下に例を示します。 

%SYS>write##class(%SYS.System).WriteToConsoleLog("xxxxx log message",0,0)
1


WriteToConsoleLogメソッドに指定できるパラメータの詳細は、以下のドキュメントをご参照下さい。

クラスリファレンス(%SYS.System)【IRIS】

クラスリファレンス(%SYS.System)

0
0 154
記事 Hiroshi Sato · 8月 1, 2022 1m read

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

残念ながら良い方法はありません。

もし処理の流れとして突然処理を中断されると不都合がある場合には、OnunloadHandler内でalertメソッドにより、Xボタンを押さないように注意を促すようなメッセージを出す方法が考えられます。

一般的には、ユーザ都合で処理中断されてもサーバ側処理内でデータの整合性等に不都合が発生しない様にアプリケーションの実装を行う必要があります。

ページのアンロード時に呼び出されるOnunloadHandler内でサーバ・メソッドを呼び出す方法は様々な問題があるため、使用することはお勧めしません。

0
0 174
記事 Megumi Kakechi · 7月 31, 2022 2m read

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

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

Class User.Test
{

ClassMethod ExceptionTest()
 {
    try
    {
      // : some codesif (Stcount<1) {
          throw##class(%Exception.General).%New(" ユーザ定義エラー","5001","ロケーション","エラー時のデータ")  
          // ユーザ作成エラーは5001以降
      }
    }
    catch ex
    {
      write"エラー #", ex.Code, ": ", ex.Name, " : ", ex.Location, " ", ex.Data
      return
    }
 }
}


上の例では、Stcount が 1 より小さい場合、以下のようなエラーが出力されます。

0
0 325
記事 Hiroshi Sato · 7月 25, 2022 1m read

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

ObjectScript言語は、Java言語等がサポートしている型キャストをサポートしていません。

ただし、メソッドのキャストはサポートしています。

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


メソッドのキャスト【IRIS】
メソッドのキャスト

InterSystems ObjectScript言語はJava言語や.NetのC#言語のような静的型付き言語とは異なり、動的型付き言語に分類される言語になります。

従って型の解釈は実行時に行われ、宣言時に型を合わせるという必要性がないため型キャストのような仕組みを用意していません。

0
0 203
記事 Hiroshi Sato · 7月 25, 2022 1m read

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

ミラーリングが同期の対象とするのはデータベースファイルのみです。

アプリケーションに必要なその他のファイル(CSPファイル、画像ファイル、ドキュメントファイルなど)をミラーセットを構成する二台のサーバー間で同期させるには、

  1. NASなどを導入して共有ディスク上にそれらのファイルを配置する方法
  2. または同期ソフトを導入して二台のサーバー間のファイルを同期させる方法

などの方法が考えられます。

また、2の方法ではWindows上ではRoboCopy、Linuxの場合にはrsyncという同期ソフトを使った実例があります。

0
0 169
記事 Mihoko Iijima · 7月 13, 2022 1m read

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

管理ポータルメニュー [Interoperability] > [構成] > [システムのデフォルト設定] で設定したデータを移行する場合、設定値が格納されているグローバル変数をエクスポートし、移行先システムでインポートします。

画面で登録した以下のような情報は、

グローバル変数 ^Ens.Config.DefaultSettingsD に格納されています。

認証情報については、グローバル変数 ^Ens.SecondaryData.Password に格納されます。

InterSystems IRIS をご利用の場合は、このグローバルは xxxSECONDARY(xxx はネームスペース名)のデータベースに格納されます。

InterSystems IRIS for Health をご利用の場合は、このグローバルはネームスペースのデフォルトデータベースに格納されます。

xxxSECONDARYデータベースについて詳細は、以下ドキュメントをご参照ください。

InterSystems IRIS のパスワード資格情報の格納場所

【関連トピックのご紹介】

0
0 234
記事 Megumi Kakechi · 7月 3, 2022 2m read

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

バージョン2015.2以降から、Windows上のインストール環境では、サービス・アカウントを
 「Windowsコントロールパネル > 管理ツール > サービス > InterSystems IRIS/Cache Controller for XX」
の「ローカル・システムアカウント」から Windows の任意の管理者アカウントに変更した場合に <NOTOPEN> エラー または -1 が返ります。

この状況を回復するためには、以下2つの設定をする必要があります。

1. 「Windowsコントロールパネル > 管理ツール > サービス > InterSystems IRIS/Cache Controller for XX」
    のログオン設定を、「ローカルシステムアカウント」に戻す
2. irisinstall/cinstall  コマンドを使用してInterSystems IRIS サービス・アカウントを変更する


2 の手順は以下になります。

Windowsコマンドプロンプトを管理者権限で起動し、以下コマンドを使用して変更します。
この設定を有効するためには、インスタンスの再起動が必要です。

0
0 522
記事 Megumi Kakechi · 6月 29, 2022 1m read

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

デフォルトではテーブルのカラムの順番はシステムが自動的に決定します。

順番を変更するにはクラス定義を行う際にプロパティ・キーワード SqlColumnNumber でプロパティ毎に明示的に順番を設定してください。

例:

Property Name As %String [SqlColumnNumber = 2];


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

SqlColumnNumber


なお、SQLテーブル名を変えたい場合は SqlTableName 、カラム名(フィールド名)を変えたい場合は SqlFieldName を指定します。

ともに、永続クラスのみに適用されます。

0
0 155
記事 Mihoko Iijima · 5月 29, 2022 3m read

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

InterSystems IRIS/Caché の管理ポータルメニュー:SQLデータインポートウィザードの処理で行うようなCSVファイルをテーブルへインポート、テーブルからファイルにエクスポートする方法をプログラムで実行することができます。

※ サンプルはバージョン 2017.1以降で動作確認しています。

※ バージョン 2016.2.3以前でお試しいただく場合は、SQL.Utilsクラス の20行目をコメント化してからご利用ください。

//Set mgr.IQN=$$$BuildIQN(SchemaName,TableName)

 

サンプルの使用手順

サンプルはこちらにあります👉https://github.com/Intersystems-jp/DataImportExport

CSVファイルをテーブルへインポート、テーブルからファイルへエクスポートの処理は、SQL.Utilsクラスを使用しています。

1) サンプルのインポート

実行したいネームスペースに SQL.Utilsクラスをインポートします。

スタジオをご利用の場合は、ファイルをドラッグ&ドロップするとインポートできます。

0
0 731