2020年04月03日
DBACCESS_COLUMNS
Informixの現行バージョン V14.10 ( V12.10 だと xC12 以後 )で、DBACCESS_COLUMNSという環境変数が使えるようになっているそうです。
dbaccessコマンドで SQLを実行しそれをリダイレクトして他のプログラムで処理したいときに役に立ちそうです。
dbaccessは、SQL実行結果の出力行の長さによって、列を横並びにしたり、それだと画面をはみ出しそうになると縦並びにしたり調整してくれます。
ただ、この調整はこれまで環境変数などでの制御ができなかったため、dbaccessの出力をパイプなどでシェルスクリプトや他の文字列処理コマンドに渡して処理するのが困難な場合がありました。
この環境変数を設定すると、dbaccess は、値に設定された桁数(半角1文字単位かな?)までは縦並び調整しないでSQL実行結果を出力するようになるみたいですね。
[tatsuom@goemon ~]$ dbaccess stores_demo sample.sql
Database selected.
customer_num 101
fname Ludwig
lname Pauli
company All Sports Supp
lies
address1 213 Erstwild Co
urt
address2
city Sunnyvale
state CA
zipcode 94086
phone 408-789-8075
1 row(s) retrieved.
Database closed.
[tatsuom@goemon ~]$ export DBACCESS_COLUMNS=1024
[tatsuom@goemon ~]$ dbaccess stores_demo sample.sql
Database selected.
customer_num fname lname company address1 address2 city state zipcode phone
101 Ludwig Pauli All Sports Supplies 213 Erstwild Court Sunnyvale CA 94086 408-789-8075
1 row(s) retrieved.
Database closed.
dbaccessコマンドで SQLを実行しそれをリダイレクトして他のプログラムで処理したいときに役に立ちそうです。
dbaccessは、SQL実行結果の出力行の長さによって、列を横並びにしたり、それだと画面をはみ出しそうになると縦並びにしたり調整してくれます。
ただ、この調整はこれまで環境変数などでの制御ができなかったため、dbaccessの出力をパイプなどでシェルスクリプトや他の文字列処理コマンドに渡して処理するのが困難な場合がありました。
この環境変数を設定すると、dbaccess は、値に設定された桁数(半角1文字単位かな?)までは縦並び調整しないでSQL実行結果を出力するようになるみたいですね。
[tatsuom@goemon ~]$ dbaccess stores_demo sample.sql
Database selected.
customer_num 101
fname Ludwig
lname Pauli
company All Sports Supp
lies
address1 213 Erstwild Co
urt
address2
city Sunnyvale
state CA
zipcode 94086
phone 408-789-8075
1 row(s) retrieved.
Database closed.
[tatsuom@goemon ~]$ export DBACCESS_COLUMNS=1024
[tatsuom@goemon ~]$ dbaccess stores_demo sample.sql
Database selected.
customer_num fname lname company address1 address2 city state zipcode phone
101 Ludwig Pauli All Sports Supplies 213 Erstwild Court Sunnyvale CA 94086 408-789-8075
1 row(s) retrieved.
Database closed.
Posted by oninit at 00:33│Comments(0)
│ちょっと細かいテックネタ
※このブログではブログの持ち主が承認した後、コメントが反映される設定です。