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

SQLのINSERT/UPDATE/DELETE文で大量のデータを更新する際に、高速化する方法をご紹介します。
以下の2つの手順を実行することで、更新処理のパフォーマンスを向上させることが可能です。

1.INSERT/UPDATE/DELETE時にインデックスを作成せず、あとでまとめて作成する

2.INSERT/UPDATE/DELETE時にジャーナルをOFFにする

1は、%NOINDEX キーワードを指定してインデックスの生成を後でまとめて行うことで、インデックスの構築を抑制しパフォーマンスを向上させる方法です。

クエリ実行例は、以下のようになります。

0 0
0 17

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

現時点(2024年3月)では、コミュニティに掲載されているPythonライブラリ「iris-dollar-list」を利用することでIRISの$LIST()形式のデータをPythonのリストとして利用することができます。

※標準ツールではありませんがご利用いただけます。詳細はコミュニティの記事「もう1つの $ListBuild() の実装:Pythonライブラリ「iris-dollar-list」」をご参照ください。

WindowsにインストールしたIRISで使用する場合は、以下の方法で「iris-dollar-list」をインストールしてください。

※Windows以外にインストールしたIRISでは、pipコマンドを利用した通常の方法でインストールできます。

0 0
1 14

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

Ens.Directorクラスのクラスメソッドを使用して取得できます。

プロダクション名(FAQSample.Interop.Production)とホスト名(FAQSample.Interop.FileOperation)を指定して設定リストを取得する方法は以下の通りです。

0 0
0 15

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

永続クラス定義(またはテーブル定義)に対してオブジェクト操作でデータの参照・更新を行うとき、オブジェクトオープンで使用する%OpenId()、オブジェクトの削除に使用する%DeleteId()の第2引数を使用して並行処理の制御方法を選択できます。

ご参考:オブジェクト同時処理のオプション

既定値は1です。(永続クラスのDEFAULTCONCURRENCYクラスパラメータでデフォルト値を指定できます。特に変更していない場合は 1を使用します)

並行処理の基本事項は以下の通りです。

0 0
0 22

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

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

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

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


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



★GRANT文を使う場合

0 0
0 23

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

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

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

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

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

0 0
0 14

これは 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 20

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

InterSystems製品のInteroperability(相互運用性機能)を利用する際、REST経由で情報入力を行う場合の作成方法についてサンプルプロダクションを利用しながらご紹介します。

サンプルはこちら👉https://github.com/Intersystems-jp/FAQ-Interop-REST

1 0
0 26

需要はそんなに多くはないのですが、時折「Native SDK (Native API) for .NET の使い方」に関するご質問を受けることがありますので、簡単に試せるサンプルをご紹介します。

Native SDK (Native API) for .NET を使用すると、ObjectScript のクラスメソッドを、ネイティブの .NET メソッドを呼び出すのと同じように、.NET アプリケーションから簡単に呼び出すことができます。
また、グローバルへのアクセスも簡単に行えます。
こちらの記事では、VB.NET のサンプルコードをご紹介します。

以下の手順で実行していきます。

2 0
0 35

この記事は、「プライベートWebサーバ(PWS)を使用しないバージョンの新規インストール/アップグレード:概要」の続きの記事で、コンテナ版IRISを利用する場合のWebサーバ設定例をご紹介します。(先に「概要」の記事をお読みいただくことをお勧めします。)

バージョン2023.2以降のコンテナ版IRISを利用する場合、以下いずれかの方法で管理ポータルを含めたWebアクセスを行うための設定が必要です。

  • 任意の場所にWebサーバを用意する
  • Webゲートウェイ用コンテナを利用する

この記事では、【Webゲートウェイ用コンテナを利用する】方法についてご紹介します。

1 0
0 47

この記事は、「プライベートWebサーバ(PWS)を使用しないバージョンの新規インストール/アップグレード:概要」の続きの記事で、ApacheをWebサーバとする場合の設定概要をご紹介します。(先に「概要」の記事をお読みいただくことをお勧めします。)

同一サーバ上にApacheとInterSystems製品をインストールする場合、事前にApacheをインストールしておくとApacheに必要なWebゲートウェイのインストールとIRISへの接続設定をインストーラーが自動で行います。

以降の説明では、以下のインストール方法について解説します。

※ 図解では、InterSystems IRISを使用していますが、InterSystems製品で操作は共通です。

1 0
0 46

この記事は、「プライベートWebサーバ(PWS)を使用しないバージョンの新規インストール/アップグレード:概要」の続きの記事で、IISをWebサーバとする場合の設定概要をご紹介します。(先に「概要」の記事をお読みいただくことをお勧めします。)

同一サーバ上にIISとInterSystems製品をインストールする場合、事前にIISを有効化しておくとIISに必要なWebゲートウェイのインストールと設定をIRISのインストーラーが自動で行います。

以降の説明では、以下のインストール方法について解説します。

※ 図解では、InterSystems IRISを使用していますが、InterSystems製品で操作は共通です。

1 0
0 35

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

こちらの記事👉「Apache Webサーバ(プライベートWebサーバ: PWS)インストレーションの廃止」でご案内していましたが、コミュニティエディションを除くInterSystems製品のバージョン2023.2以降では、プライベートWebサーバ(*)を使用した管理ポータル/Webアクセスを非推奨に変更しました。

(*)プライベートWebサーバとは、バージョン2023.1以前のInterSystems製品をインストールすると自動でインストールされる簡易的なApacheで、52773番ポートで管理ポータルやWebアクセスのテストにご利用いただけるWebサーバです。(本番運用環境には適さない簡易的なWebサーバです)

新規インストール/アップグレードインストールによるプライベートWebサーバの利用可否やインストール時の選択項目の違いについての概要は以下表をご参照ください。

1 0
0 54

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

こちらの記事 では、HTMLのフォームからRESTを使って画像ファイルをアップロードする方法をご紹介しました。

お客様からは、ダウンロードする方法もあわせてお問い合わせいただくことがあるため、この記事では両方の方法に加え、イメージファイル以外にも対応したサンプルをご紹介します。

サンプルでは、HTMLのフォームから IRIS REST API を呼び出してファイルの「アップロード/ダウンロード」を行っています。


【手順】

1 0
0 39

[背景]

InterSystems IRIS 製品には、便利なツール ^SystemPerformance (Caché / Ensemble 時代は ^pButtons と呼ばれていました) があり、データベースのパフォーマンス情報を HTML 形式で出力してくれます。 IRIS for Windows で ^SystemPerformance を実行すると、 InterSystems 独自のパフォーマンスログ mgstat と Windows パフォーマンスログの両方を含んだ HTML が生成されます。

2 0
0 32
記事
· 2024年1月11日 3m read
DeepSee で有効な階層を設計

DeepSee で階層を設計する場合、子メンバーに 1 つの親しか指定できません。 子が 2 つの親に対応する場合には、信頼性のない結果が得られることになります。 類似する 2 つのメンバーが存在する場合、そのキーがそれぞれ一意になるように変更する必要があります。 これが起きる場合とそれを回避する方法について、2 つの例を見ながら説明します。

例 1

(アメリカには)Boston と言う都市がある州がたくさんあります。 私のサンプルデータでは、Boston, MA(マサチューセッツ州ボストン)と Boston, NY(ニューヨーク州ボストン)のレコードがあります。 次元は次のように定義されています。

0 0
0 22

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


データ取込み処理の性能・エラー(Lock Table Full)対策として、一般メモリヒープ(gmheap)や ロックテーブルサイズ(locksiz)のパラメータチューニングを行う場合があると思います。

実際に、現在どのくらいの一般メモリヒープが確保できているのかは、ターミナルと管理ポータルで確認することができます。


★ターミナルの場合

1 1
1 116

SFTPサーバ側で公開鍵と秘密鍵を作成し、それをIRISサーバにコピーして、%Net.SSH.Session() の AuthenticateWithKeyPair() を使用してSFTP接続する一連の手順(サンプル)をご紹介します。


【環境】

SFTPサーバ:CentOS8
SFTPクライアント:Windows10 & IRIS2023.1.2
SFTP接続用ユーザ:mysftpuser


【手順】

(1) CentOSでSSHの公開鍵と秘密鍵を作成します (今回は、RSA方式、4096bit)

ssh mysftpuser@172.18.xx.xx でログインし、以下 mysftpuser として作業します。

1 0
0 281

弊社FAQサイトや開発者コミュニティには、ライセンスに関する記事を数多く掲載しています。

こちらの記事では、上記記事でご紹介している様々な機能をTipsとして使い、実際にライセンス使用量の推移を調査する方法をご紹介します。

1.ライセンス使用状況をスポットで確認する方法(今現在の使用状況)

2.ある一定期間のライセンス使用状況を継続して監視する方法

1.ライセンス使用状況をスポットで確認する方法(今現在の使用状況)

現在のライセンス使用量は管理ポータルで確認できます。
[システムオペレーション] > [ライセンス使用量]

1 0
1 87

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

この記事では、複雑なJSON形式の文書を「JSONテンプレートエンジン」を利用して生成させる方法をご紹介します。

「JSONテンプレートエンジン」については、6月のウェビナーで使用例をご紹介しましたが、JSON生成対象として医療情報交換標準規格であるFHIRリソースのJSON(例:Patientリソース)を例に解説しています。

このエンジンは、JSON形式の文書であればどのような種類のデータでもご利用いただけますので、一般的なJSON形式の文書を利用して使い方をご紹介します。

1 0
0 319
記事
· 2023年10月3日 4m read
5つの便利なSQL関数のご紹介

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

この記事では、Muhammad Waseem さんが(US開発者コミュニティに)投稿された「SQLのスキルを次のレベルに引き上げることのできる5つの便利なSQL関数」の記事についてご紹介します。

✅ SQLに関わらず、IRIS/Caché全般で日頃利用されている便利な機能、使い方、関数などなどありましたら、ぜひコミュニティで共有いただければと思います。

✅ 現在「技術文書ライティングコンテスト」開催中です! 🎁 参加賞/特賞 🏆ありますので、ぜひチャレンジしてみてください!

以下、Muhammad さんの記事です。


この記事では、5つの便利なSQL関数の説明を実行例と共にご紹介します👇

  • COALESCE
  • RANK
  • DENSE_RANK
  • ROW_NUMBER
  • Function to Get Running Totals

まずは、COALESCE関数から始めてみましょう

0 0
0 209

IRISアップグレードやインストールがうまくいかない場合、初めに以下の3点をご確認ください。

  1. インストーラーに問題はないか?
  2. 対象バージョンの最新インストーラー(キット)を使用しているか?
  3. サポート対象プラットフォームへのインストールを行っているか?

1について:
インストーラーのダウンロードに問題があったなどで、インストーラー自体に問題があり、インストールできないというケースがあります。
その場合は、インストーラーのハッシュ値(md5 checksum)を比較してファイルの同一性を確認するか、再ダウンロードしてインストールをお試しください。

2 0
0 73

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

ObjectScriptのコード実行中にエラーが発生した場合 "<UNDEFINED>HelloWorld+2^Simple.Demo.1 *name" のようなエラーメッセージが表示されます。

エラーメッセージの読み方については、ObjectScriptクックブックの「ObjectScriptでエラーが発生したら」のエラーメッセージの読み方 をご参照ください。

エラー行の特定を行う際、VSCodeのコマンドパレットを利用すると簡単に対象行にジャンプできますので、以下、方法をご紹介します。

1)VSCodeのView→Command Palette... を開きます。

2) 「ObjectScript:Open Error Location...」を選択します(初回は表示項目に登場しないため > の後ろに ObjectScript と入力すると表示されます)。

3) テキストボックスが表示されるので、エラーメッセージの出力情報の中から ラベル名+行数^生成ルーチン名 をコピーして貼り付け、Enterをクリックします。

※スタジオにも同様の機能がありますが、VSCodeの場合対象となるコード(生成コードの元コード)をVSCode上で表示していなくても対象となる生成ルーチンを開きエラー行をポイントしてくれます。

3 0
0 205

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

スタジオを利用されている方にはお馴染みのソースコードの「XMLファイルへのエクスポート/インポート機能」がVSCodeのObjectScriptエクステンションに追加されました! (ObjectScript 2.10.0以降に含まれています。こちらのリクエストが元となりました👉https://github.com/intersystems-community/vscode-objectscript/issues/1158 エクステンションの追加番号は#1171です)

今まで、過去エクスポートしたXMLファイルをVSCodeから参照するためには、管理ポータル(またはスタジオ)を利用してインポートする必要がありましたが、VSCodeの画面だけでできるようになりました!

💡注意1: InterSystems IRIS /InterSystems IRIS for Health 2023.2以降のバージョンに接続した状態でご利用いただける機能です。

💡注意2:この機能は管理ポータルやスタジオのインポート/エクスポートのVSCode版のような機能となるため、インポートしたソースコードはサーバ側にインポートされ、エクスポートはサーバ側コードを選択してXMLファイルにエクスポートする動作となります。XMLファイルインポート後、VSCodeのワークスペースでローカルファイル(*.cls や *.mac)として編集 したい場合は、 ObjectScriptエクステンションマークをクリックし、対象のコードを選択→エクスポート の手順でローカルにエクスポートする必要があります。

2 0
0 183

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

いよいよ9月6日(水)~「第1回 InterSystems Japan 技術文書ライティングコンテスト」が始まります!

このお知らせでは、技術文書ライティングコンテスト📝への記事の投稿方法をご紹介します。

手順は以下2つだけ。とても簡単です。ぜひチャレンジしてみてください!💪

  1. 開発者コミュニティにアカウントを作成する
  2. IRISに関連した記事を書いてコンテスト用タグを設定する

1については、記事「アカウント作成方法」に図解がありますのでご参照ください。

2については、以下の「記事の投稿方法」で詳しくご紹介します。

1 3
0 102

Windows環境にWebGatewayのみをインストールした場合に、「Service Unavailable / HTTP Error 503. The service is unavailable.」エラーとなりWebアプリケーションに接続できない場合があります。

こちらは、Visual C++ 再頒布可能パッケージ がインストールされていない環境に、Webゲートウェイをインストールした場合に見られる事象です。

Microsoft社のホームページより、Visual C++ 再頒布可能パッケージ(X64)をダウンロードしてインストールしてください。

インストール後IISを再起動し、以下のリンクよりWebゲートウェイ管理ページに接続できることをご確認ください。

1 0
0 70

こちらの記事では、RESTやCSPなどの「Webアプリケーションのトラブルシューティング」のヒントをご紹介します。

何かしらのトラブルと思われる事象が発生した場合、確認したいのがログファイルになります。
各コンポーネント間のやり取りで、どこでどのようなトラブルが発生しているかを、それぞれログを取得して確認することができます。

① クライアント ⇔ Webサーバ間では、「Webサーバログ(IISやApacheのアクセスログなど)」、
② Webサーバ ⇔ Webゲートウェイ間では、「イベントログ」・「HTTPトレース」、
③ Webゲートウェイ ⇔ IRISサーバ間では、「ISCLOG」・「監査ログ」・「messages.log」などがあります。

3 0
0 130

IRISをアップグレードすると、SQLクエリオプティマイザの機能向上により、旧バージョンとは異なるクエリプランによるクエリ実行コード(クエリキャッシュ)が作成される場合があります。
ほとんどの場合はパフォーマンスが向上するのですが、稀にパフォーマンスが低下するケースもあります。

・アップグレードによりオプティマイザが改善しているとはいえ、中には遅くなるクエリがあるのではないか?
・予期しないSQLの問題が起きるのではないか?
・アップグレード後に全てのクエリパターンをテストするには時間と労力がかかりすぎる

このように、機能向上よりも安定性を優先して「今までのプランのまま実行したい」というご要望もあることでしょう。
こちらの記事では、そのようなお客様への解決策をご案内します。

2 0
0 72

この「DeepSee トラブルシューティングガイド」は、DeepSee プロジェクトの問題を追跡して修正する支援を提供することを目的としています。

このガイドラインに従って問題を修正できない場合でも、少なくとも DeepSee サポートに WRC の問題を提出し、すべての証拠を提供するのに十分な情報を得ることができます。この情報によって、一緒に調査を続け、より迅速に解決することが可能となります。

ご注意ください: 特定のアクションやコマンドによってどのような結果がもたらされるかがよくわからない場合は、実行しないでください。本番システムに影響を与える可能性があります。 この場合は、サポートセンターにお問い合わせください。

左から右の操作列に進むと、このガイドを最も簡単に活用できます。

1 0
0 63