Yuji Ohata · 4月 29, 2025 記事へ

@Tomoko Furuzono さん

情報共有ありがとうございます!
ちなみに%SQL.Util.Proceduresを利用する際、開くファイルに文字コードを指定することはできますか?

Yuji Ohata · 12月 5, 2024 記事へ

ご回答いただきありがとうございます!

やはりその辺りですよね…
ルーチンとかの処理レベルですと、MONLBLとかで行ごとにパフォーマンス見れたりするので、
SQLでもそういった便利ツールがあればな・・・と少し期待していたのですが😂

Yuji Ohata · 11月 25, 2024 記事へ

@Seisuke Nakahashi さん

ご回答ありがとうございます!
仕様かな、とは思っていましたが、よりDEEPな内容がお伺いできてよかったです。

上記を踏まえてうえでシステムとしてどう設計するべきかを検討するようにします。

Yuji Ohata · 7月 29, 2024 記事へ

日本語コミュニティの場合、文献が少なぎるためか、当たり前の事を聞いても返事がもらえないようです…

■日本語
https://jp.community.intersystems.com/ask-dc-ai?question_id=116292

■英語
https://community.intersystems.com/ask-dc-ai?question_id=116297

過去にこんな記事があったよな…というイメージがある方なら、
ふわっとしたキーワードさえわかれば検索がかけられるので、よいかもしれません。

https://jp.community.intersystems.com/ask-dc-ai?question_id=116304

Yuji Ohata · 12月 11, 2023 記事へ

Iwamotoさん

ご確認いただきありがとうございます!
バージョンが合えば解消するとの事で承知しました!
確認してみます。

Yuji Ohata · 11月 27, 2023 記事へ

@Shuichi Igusa さん

こんにちは。
全てではないですが、下記にある程度まとまっていそうです。
https://docs.intersystems.com/iris20221/csp/docbookj/DocBook.UI.Page.cl…

あとは個人的に開発をするときには、クラスリファレンスとか見ながら、
こんなアダプタとかあったのか!みたいな調べ方をしていました。(EnsLibパッケージの中です。)

Yuji Ohata · 10月 18, 2023 記事へ

Hashimotoさん

コメントいただきありがとうございます!
私の方ではSourceControlをコンパイル時の静的解析のような役割で使っておりまして、
それはVSCodeからsave->import->compileの時でも動作することを確認済みです。

> IRISへの接続中のアカウントを取得したいという事でしょうか?
VsCodeのsettings.jsonで設定したアカウントが、Save等によりIRISにImportを行ったときのユーザー情報になります。
..Usernameは接続が確立したタイミングには入っているものと思ったのですが、
今取得すると空になっています。

Yuji Ohata · 9月 8, 2023 記事へ

ご確認いただきありがとうございます。
承知いたしました!

Yuji Ohata · 9月 8, 2023 記事へ

開催のご連絡ありがとうございます!

早速一つ投稿しようと思ったのですが、グループに「IRIS contest」が無いように思われます。

一度ご確認いただいてもよろしいでしょうか。

Yuji Ohata · 6月 1, 2023 記事へ

Minamoto さん

ご回答いただきありがとうございます!
記載の動作はパラメータの指示によるものだったのですね、、、存じ上げませんでした。

回避しようとすると、EXACTやTRUNCATEを使うのがよさそうですね。
デフォルト値を変えるのが少し怖いですが…。

こちらでも試してみるようにします!

Yuji Ohata · 4月 14, 2023 記事へ

ご回答いただきありがとうございます。
承知いたしました。

Yuji Ohata · 3月 26, 2023 記事へ

Mihoko Iijima さん

ありがとうございます!
まさにこれです!助かりました。

Yuji Ohata · 1月 11, 2023 記事へ

確かにこれであれば、プログラム管理上に.MACが現れることもないので、
.CLSに絞った状態で管理できそうですね!

参考にさせていただきます。
ありがとうございます!

Yuji Ohata · 1月 10, 2023 記事へ

Minamoto さん

ご回答いただきありがとうございます!
やはりイベントを直接拾うことは難しそうですね。

定時頂いた案も利用できるとは思うのですが、
%ZMIRRORの代替えとはいかなさそうなので、方針含め考え直してみます。

ありがとうございました!

Yuji Ohata · 1月 6, 2023 記事へ

Minamoto さん

あけましておめでとうございます!
今年もよろしくお願いいたします。

ご回答いただきありがとうございます。

記載いただいた内容はネームスペースの起動を監視できるという所で、
私の要望していた通りのものかと思いますので、一度実験してみようと思います。

また参考までにお伺いしたいのですが、この監視機能の中で、
%ZMIRRORの代替えとして利用できるものはありそうでしょうか…?

%ZMIRROR…プライマリとしての起動時のみ呼ばれる。セカンダリがプライマリに切り替わったタイミングでも呼ばれる。

Yuji Ohata · 12月 19, 2022 記事へ

こんにちは。

私はCSPの変更の経験がないので同様の現象になったことが無いのですが、
症状から見るに、Cache'というよりかはVScodeの設定の話かなと思いました。

VScodeにはExcludeという設定があり、指定したパターンに該当する項目を
非表示にする仕組みがあります。こちらに該当していたりしないでしょうか?

https://dlrecord.hatenablog.com/entry/2020/11/22/144540

Yuji Ohata · 12月 16, 2022 記事へ

Minamotoさん

ご回答ありがとうございます。
なるほど、IRISとしては特に問わないという事ですね。
わかりました!

環境変数等の情報もありがとうございます。
躓きそうなポイントですね。注意して進めるようにします。

Yuji Ohata · 10月 26, 2022 記事へ

すいません。
②について動作差異の原因がわかりました。

対象のカラムはNOT NULL制約をかけているのですが、
INSERT時にはパフォーマンス優先して%NOCHECKのオプションを付けていました。

NOT NULLのカラムにNULLが入っている時に記載したような振る舞いとなるようです。

こちらについては、私のプログラム側の問題と思いますので、対応するようにいたします。

Yuji Ohata · 10月 26, 2022 記事へ

Mihoko Iijimaさん

ご確認いただきありがとうございます!
残念ながら、対象のカラムは普通の文字列型となります…。

もう少しこちらでも発生条件を絞り込みたいと思います。

Yuji Ohata · 10月 26, 2022 記事へ

Toshihiko Minamoto さん

ご確認いただきありがとうございます!
こちらでも、今問題となってるテーブルから問題のカラムを抽出して
新たなテーブルを作成し、そこに対してIS NULLで検索をかけますとヒットすることが確認できました。


テーブルのデータ件数なのか、Insertのやり方なのか、何か条件がありそうですので、
もう少し絞り込めましたら、改めてサポートに問い合わせてみようと思います。

Yuji Ohata · 10月 26, 2022 記事へ

Mihoko Iijima さん

ご確認いただきありがとうございます!
そういう事だったんですね。
インジェクション対策として、パラメータを分けることを基本方針にしていたのですが、
設計を見直す必要がありそうですね・・・。

Yuji Ohata · 9月 14, 2022 記事へ

Hashimotoさん

ありがとうございます!
カラム名を渡されたらそちらの%Metadata.columnsから番号を取得して、
%GetRow()で引っ掛けてみる、という事ですね。

一度試してみようと思います。

Yuji Ohata · 9月 14, 2022 記事へ

Minamotoさん

ご回答いただきありがとうございます。
そちらの方法も検討したのですが、SELECTで*を使って取得した場合や、
複数のテーブルを結合してアクセスした際に、番号を把握しにくいというのと、
SQLのメンテナンスによって列番号が変わった際の保守性が低いという所より、見送りました。

やはりパフォーマンス劣化は避けられなさそうでしょうか…。

DynamicObjectに対して、「.name」でアクセスするのと、「%Get()」で動的にアクセスするのでは、
実質動作に差異がないと思っていたのですが、SQLからの取得結果へのアクセスとなると、
内部でカラム番号の変換処理が必要になってる、という事なんですね。。。
(であれば、何故直接「.name」でアクセスするのが早いのかは気になりますが…。)

Yuji Ohata · 6月 19, 2022 記事へ

Minamoto さん

ありがとうございます!
トランザクションと関係なくコミットできるのであれば、
1000件アップデートによるテーブルロックも防げそうですし、
期待動作が得られそうです。

頂いた方法で試してみたいと思います。

Yuji Ohata · 6月 15, 2022 記事へ

Minamoto さん

ご回答いただきありがとうございます!
記載頂いたものについては、私が欲していたものなのですが、
よくよく考えるとミラーリングを行っている都合上、
ジャーナルに書かれないデータが出来てしまう事にリスクを感じています。
($INCREMENTもそうでしたね。。。)

そのため、わがままな要望となってしまい大変恐縮なのですが、
ジャーナルには書かれるが、親のトランザクションを無視して更新を確定させたいです。

IRISの仕組み的に難しそうでしょうか・・・?

Yuji Ohata · 5月 29, 2022 記事へ

Toshihiko Minamoto さん

ご回答いただきありがとうございます!
頂いた方法で試してみます。
 

Yuji Ohata · 3月 8, 2022 記事へ

Toshihiko Minamoto さん

情報ありがとうございます!
初歩的なところに項目あったのですね、恥ずかしながら気づいておりませんでした。

疑問点は解消されましたので、クローズさせていただきます。