フォーラムへの返信
-
投稿者投稿
-
それと、2つ上の文字化けの件、
’-’ は全角の横棒でしょうか?別な操作例としてIBM i 上のSRCPF(CCSID 1399)をRDi のRSEパースペクティブでLPEXエディター等で開いて編集するならSRCPFのCCSIDと接続ユーザーのCCSIDで動作するのですが、
今回の件はSRCPF(CCSID 1399)をチェックアウトして、とありますのでiプロジェクトを使用しており、SRCPFをPC上の?テキストファイルに変換(エクスポート)して編集されている、したがってSRCPFのCCSIDでなくチェックアウトした方のテキストファイル?の文字コードを参照しているのではないかな、と思ったのですがこの辺の環境はいかがでしょうか?2つ上のコメントでS-JISで代替文字化けしなくなった、という事なのでチェックアウトする際 or チェックアウトしたソースファイル(テキストファイル?)の文字コードの辺りで問題が起きているのかもしれません。
松岡様
環境全般はわからないので想像込みになりますが、まず、SRCPFの属性をRDi他で確認してみてください。RDi RSEからなら、そのSRCPFを選択右クリックから、プロパティでSRCPFのCCSIDが確認できると思います。こちらが今、1399と理解しました。
ついでエクスポートしたファイルについて同様にCCSIDを確認してみてください。たとえばRDi iプロジェクトなどでエクスポートしたファイルが見れるのならiプロジェクトの画面で上記と同じような操作でファイルのCCSIDが確認できると思います。このときエクスポートしたファイルのCCSIDがUTF-8などになっていないか確認すればいいと思います。それ以外で文字コード(CCSID)が変わってしまいそうな要素としては、RDiからIBM i に接続しているユーザーIDのジョブのCCSIDが期待通りか(通常だと5035?か 1399?でしょうか)。あるいはQCCSID システム値などCCSID関連にCCSID 65535 が指定されていると予期しないコード変換が発生しているかもしれません。
加賀さま
亀レスすみません、イグアス次郎さまが言われるようにDRDAと一口に言いましても、色々な機能がありますので、どのような事をされたいのかお知らせ頂けるとありがたいです。これまでイグアス次郎さまが回答くださった以外のシナリオなのだとして、
もし、DRDAしたリモートのDb2 (Db2 for i)のデータをローカルからDRDA(DDMF)で参照したい、という事ならこちらの記事が参考になると思います。 https://qiita.com/gomAnomalocaris/items/95f706a5f8868335e6ff松岡様、こんにちは。
こちらのソースファイルはSRCPF でしょうか? IFSテキストファイルでしょうか?機能面での差異はありませんが、たとえば、オンプレのPOWERサーバーでは0.1コア、0.05コア等の割当が可能ですが、PowerVSでは最低でも0.25コアの割当が必要、上限コア数もLPAR(VMインスタンス)を作成したH/Wモデルによってはオンプレとは違う上限なる場合はあります。
また、サポートされるIBM i OSバージョンもオンプレとPowerVSで異なる場合があります。具体的にはPowerVS のダラスDCでは先週確認した時点ではIBM i 7.2等の古いOSバージョン(オンプレではサポート終了したバージョン)が利用可能だったりすることがあります。
(自己回答です)
こちらのリンクに、テンポラル表についての分かりやすいと思われる新しい情報のまとめがありました。
ご活用ください。IBM i 駆け出し日記:テンポラル表を使いこなす
https://qiita.com/koga39chan/items/2882902897cd0202f0d3上記含むいくつかのリンクまとめです。
https://community.ibm.com/community/user/blogs/sakura-koga/2025/04/01/ibm-i自己回答です。
A.
基本的には同一です。両者で使用されているH/W, S/Wについては基本共通で差異はありません。
たとえばPowerVSで使用されているハードウェアPower S1022と、オンプレで使用できるPower S1022は基本的には同一です。(当然ですがクラウドではH/W、S/Wは決められてしまいますのでその範疇では、という制限はありますが。)また、PowerVSではテープ装置など物理的なI/O装置を利用する事が基本出来ません。例えばテープメディアにバックアップしている場合、仮想テープ装置(VTL)やオブジェクトストレージ保管などの代替サービス・機能・ソリューション検討が必要になります。
IBM i OSの*LINDのステータスであれば、SQLでIBM i サービスの QSYS2.NETSTAT_Interface_Info ビュー でも検索できます。
ご参考:https://qiita.com/gomAnomalocaris/items/aa6bdde598cf8863dfcf
SELECT * FROM QSYS2.NETSTAT_INTERFACE_INFO WHERE INTERFACE_STATUS = ‘RCYPND’ ;
のようにステータスを限定して検査も可能です。
RCYPEND以外に、FAILED そのほかいくつか該当のステータスがありそうです。Q2.への回答
SQLの長いビュー名、テーブル名からIBM i OS上のオブジェクト名を調べる際は、IBM i サービスのQSYS2.SYSFILESを使用します。
例)
QSYS2.NETSTAT_JOB_INFOテーブルの実オブジェクト名を調べる場合
SELECT * FROM QSYS2.SYSFILES WHERE LIB_NAME = ‘QSYS2′ AND TABLE_NAME=’NETSTAT_JOB_INFO’;逆のパターンでIBM i OS上のオブジェクト名が分かる場合は、DSPPFコマンドで確認できます。代替ファイル名、としてSQLで使用できる長いテーブル名が分かります。
(以下自己回答です)
Q1.
IBM i Db2 for i のテーブル、ビューを作成する際に、SQL CREATE TABLE等で作成する際、SQL用に別名をつけることができます。SQLでは別名(10桁以上の長い名称)を使用できます。ご参考情報:https://qiita.com/gomAnomalocaris/items/ca86c7fb9cc1502176b5
自己回答です、下記の回避策があります。
https://qiita.com/gomAnomalocaris/items/c1bbf975f227ed4aaf9b
・ACSのキーパッドを表示しEnter を実行
・ACSのキーボードマップを変更するさらに新しい方法としましては、IBM i サービスでSQLで一発取得もできます。
ACSのサンプルにありました。
ACS SQLサンプル カテゴリー:Built-in Global Variables (組込みグローバル変数)
https://qiita.com/gomAnomalocaris/items/4c4c306746d5ed8765b5VALUES(SYSIBM.CLIENT_IPADDR);
VALUES(SYSIBM.CLIENT_PORT);です。
もう少しスマートに、ということですと、CLPを書けばクライアントのIPを取得できます。
IBM i CLPでクライアントのIPアドレスを取得するサンプル
https://qiita.com/gomAnomalocaris/items/189a67c15a60b65bca28ちょっと古い7.2か7.3位だったと思うのでパラメーターが変わってたかもしれませんが、基本はこの通りです。
こんにちは、単純なのですと、5250で、NETSTATコマンドー> 3. IPV4接続状況の処理 でリストされる一覧から下記の最下行のようにリモートアドレスが入っており、ローカルポート番号がTELNET(ポート20でつないでいる)を探して、OPT欄に8を押すと、WRKACTJOBでも表示されるジョブ名が確認できます。この手順でクライアントのリモートIPを確認できます。
リモート リモート ローカル アイドル
OPT アドレス ポート ポート 時間 状態
* * 4800 863:44:49 接続待機
9.68.28.168 59450 telnet 000:01:26 確立済みただ、、くらい後数が100とかありますと現実的ではないですが…(^^;
-
投稿者投稿