chcsvをコンパイルしたときのメモ
Oracle DBにSQLを投げて検索結果をCSVやTSV等のフォーマットで標準出力してくれるchcsvというツールがある。
Pro*Cのソースからコンパイルが必要なため、そのときの手順をまとめてみる。
環境はCentOS6.5で、Oracle Database11gR2が入っている。
公式サイト =>http://www.asahi-net.or.jp/~nq7t-kwbt/
公式サイトのchcsv(download)リンクからchcsv_v20.tar.gzをダウンロードし、適当なディレクトリに配置し、解凍・展開する
[oracle@localhost chcsv]$ pwd /home/oracle/installer/chcsv [oracle@localhost chcsv]$ ls -l 合計 16 -rw-r--r--. 1 oracle oinstall 13757 3月 26 12:51 2014 chcsv_v20.tar.gz [oracle@localhost chcsv]$ tar xvfz chcsv_v20.tar.gz chcsv/ chcsv/BUILD chcsv/INSTALL chcsv/INSTALL.euc chcsv/Makefile chcsv/Option.pc chcsv/OutPut.pc chcsv/Signal.pc chcsv/README chcsv/README.euc chcsv/README.sjis chcsv/chcsv.h chcsv/chcsv.pc chcsv/extern.h chcsv/sqlda.pc chcsv/sqlhead.h
Cコンパイラがあることを確認
[oracle@localhost chcsv]$ gcc -v Using built-in specs. Target: x86_64-redhat-linux コンフィグオプション: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux スレッドモデル: posix gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC)
Pro*Cコンパイラがあることを確認
(※Pro*CコンパイラはOracle DBまたはOracle Clientを入れるとついてくる。ただしOracle Clientの場合はAvailable Product Components選択時にOracle Programmerにチェックを入れる必要がある)
[oracle@localhost chcsv]$ proc -v proc: error while loading shared libraries: libclntsh.so.11.1: cannot open shared object file: No such file or directory
=>libclntsh.so.11.1がないためエラーになっている。
=>libclntsh.so.11.1を探す。以下にあった。
[oracle@localhost lib]$ ls -l $ORACLE_HOME/lib/libclntsh.so.11.1 -rwxr-xr-x. 1 oracle oinstall 48725713 12月 10 15:57 2013 /u01/app/oracle/product/11.2.0/dbhome_1/lib/libclntsh.so.11.1
=>$LD_LIBRARY_PATHに$ORACLE_HOME/libを通す
=> .bashrcに以下を追加
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
=>再実行
[oracle@localhost chcsv]$ proc -v Pro*C/C++: Release 11.2.0.1.0 - Production on Wed Mar 26 13:08:23 2014 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. System default option values taken from: /u01/app/oracle/product/11.2.0/dbhome_1/precomp/admin/pcscfg.cfg PCC-F-02101, Unable to open input file: "-v.pc"
=> 入力ファイルがないためエラーになっているが、実行はできているよう
proc.mkを探す
[oracle@localhost chcsv]$ find $ORACLE_HOME -name proc.mk -print
見つからず。。とりあえずmakeしてみる
[oracle@localhost chcsv]$ make ./BUILD make[1]: ディレクトリ `/home/oracle/installer/chcsv/chcsv' に入ります make[1]: /u01/app/oracle/product/11.2.0/dbhome_1/precomp/demo/proc/proc.mk: そのようなファイルやディレクトリはあり ません make[1]: *** ターゲット `/u01/app/oracle/product/11.2.0/dbhome_1/precomp/demo/proc/proc.mk' を make するルールがあ りません. 中止. make[1]: ディレクトリ `/home/oracle/installer/chcsv/chcsv' から出ます make: *** [all] エラー 2
=> やっぱりproc.mkがないためエラーになっている
=> BUILD ファイルのコメントによると、proc.mkはdemo_proc.mkという名前になっていることもあるらしい
demo_proc.mkはOracle Database Examplesに含まれているらしいので、まずメディアをダウンロードする。
以下からLinux x86-64のSee All のリンクをクリック
http://www.oracle.com/technology/software/products/database/index.html
Oracle Database 12c Release 1 Examples (12.1.0.1.0) for Linux x86-64
のlinuxamd64_12c_examples.zip のリンクからダウンロードする。
※DBは11gR2だったが、問題なく12cのExampleで動いた
インストーラを配置し、解凍
[oracle@localhost db12c]$ pwd /home/oracle/installer/db12c [oracle@localhost db12c]$ ls linuxamd64_12c_examples.zip [oracle@localhost db12c]$ unzip linuxamd64_12c_examples.zip
Oracle Database Examplesをインストール
以下、インストーラの指示に従ってインストールを進める。
基本的に「次へ」をクリックするだけ。
インストールが完了すると、demo_proc.mkが生成されたことが確認できる
[oracle@localhost ~]$ ls -l$ORACLE_HOME/precomp/demo/proc/demo_proc.mk -rw-r--r--. 1 oracle oinstall 7643 5月 24 09:44 2013 /u01/app/oracle/product/11.2.0/dbhome_1/precomp/demo/proc/demo_proc.mk
ビルドファイルを書き換え、$ORACLE_HOME/precomp/demo/proc/demo_proc.mk build を使うように修正する。
[oracle@localhost chcsv]$ pwd /home/oracle/installer/chcsv/chcsv [oracle@localhost chcsv]$ cp -p BUILD BUILD.org make -f $ORACLE_HOME/precomp/demo/proc/demo_proc.mk build \ EXE=chcsv OBJS="chcsv.o sqlda.o Option.o OutPut.o Signal.o"
make再実行
[oracle@localhost chcsv]$ make ./BUILD make[1]: ディレクトリ `/home/oracle/installer/chcsv/chcsv' に入ります make -f /u01/app/oracle/product/11.2.0/dbhome_1/precomp/demo/proc/demo_proc.mk PROCFLAGS="" PCCSRC=chcsv I_SYM=include= pc1 make[2]: ディレクトリ `/home/oracle/installer/chcsv/chcsv' に入ります proc iname=chcsv include=. include=/u01/app/oracle/product/11.2.0/dbhome_1/precomp/public include=/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public include=/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/demo include=/u01/app/oracle/product/11.2.0/dbhome_1/plsql/public include=/u01/app/oracle/product/11.2.0/dbhome_1/network/public Pro*C/C++: Release 11.2.0.1.0 - Production on Fri Mar 28 15:05:03 2014 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. System default option values taken from: /u01/app/oracle/product/11.2.0/dbhome_1/precomp/admin/pcscfg.cfg Error at line 34, column 10 in file /usr/include/string.h #include <stddef.h> .........1 PCC-S-02015, unable to open include file Syntax error at line 45, column 40, file /usr/include/string.h: Error at line 45, column 40 in file /usr/include/string.h __const void *__restrict __src, size_t __n) .......................................1 PCC-S-02201, Encountered the symbol "size_t" when expecting one of the following : (・・・略)
=> コンパイルエラー。
C標準ライブラリファイルの参照がおかしい。
以下のファイルにproc*cプリコンパイラの参照情報が記載されているので確認する。
[oracle@localhost chcsv]$ ls -l $ORACLE_HOME/precomp/admin/pcscfg.cfg -rw-r--r--. 1 oracle oinstall 323 3月 28 15:59 2014 /u01/app/oracle/product/11.2.0/dbhome_1/precomp/admin/pcscfg.cfg [oracle@localhost chcsv]$ cat /u01/app/oracle/product/11.2.0/dbhome_1/precomp/admin/pcscfg.cfg sys_include=($ORACLE_HOME/precomp/public,/usr/include,/usr/lib/gcc-lib/x86_64-redhat-linux/3.2.3/include,/usr/lib/gcc/x86_64-redhat-linux/4.1.1/include,/usr/lib64/gcc/x86_64-suse-linux/4.1.0/include,/usr/lib64/gcc/x86_64-suse-linux/4.3/include) ltype=short define=__x86_64__
いろいろなバージョンのgccのincludeファイルへのパスがsys_includeという名前で設定されている。現在使っているgccのバージョンを改めて確認する
[oracle@localhost chcsv]$ gcc -v Using built-in specs. Target: x86_64-redhat-linux コンフィグオプション: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux スレッドモデル: posix gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC)
=> 4.4.7を使っている。一方で、上で見たpcscfg.cfgのsys_includeには4.4.7のincludeファイルを参照する設定がない。
=> 4.4.7のincludeファイルパスを確認する
[oracle@localhost chcsv]$ ls /usr/lib/gcc/x86_64-redhat-linux/4.4.7/include/ abmintrin.h bmiintrin.h cross-stdarg.h float.h iso646.h mm3dnow.h nmmintrin.h popcntintrin.h stdbool.h syslimits.h unwind.h x86intrin.h ammintrin.h bmmintrin.h emmintrin.h fma4intrin.h limits.h mm_malloc.h omp.h smmintrin.h stddef.h tbmintrin.h varargs.h xmmintrin.h avxintrin.h cpuid.h f16cintrin.h immintrin.h lwpintrin.h mmintrin.h pmmintrin.h stdarg.h stdfix.h tmmintrin.h wmmintrin.h xopintrin.h
=>/usr/lib/gcc/x86_64-redhat-linux/4.4.7/include/ にあることを確認
pcscfg.cfgのsys_includeに上記パスを追加する
[oracle@localhost chcsv]$ cat $ORACLE_HOME/precomp/admin/pcscfg.cfg sys_include=($ORACLE_HOME/precomp/public,/usr/include,/usr/lib/gcc-lib/x86_64-redhat-linux/3.2.3/include,/usr/lib/gcc/x86_64-redhat-linux/4.1.1/include,/usr/lib64/gcc/x86_64-suse-linux/4.1.0/include,/usr/lib64/gcc/x86_64-suse-linux/4.3/include,/usr/lib/gcc/x86_64-redhat-linux/4.4.7/include/) ltype=short define=__x86_64__
再度makeを実行
[oracle@localhost chcsv]$ make ./BUILD make[1]: ディレクトリ `/home/oracle/installer/chcsv/chcsv' に入ります make -f /u01/app/oracle/product/11.2.0/dbhome_1/precomp/demo/proc/demo_proc.mk PROCFLAGS="" PCCSRC=chcsv I_SYM=include= pc1 make[2]: ディレクトリ `/home/oracle/installer/chcsv/chcsv' に入ります proc iname=chcsv include=. include=/u01/app/oracle/product/11.2.0/dbhome_1/precomp/public include=/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public include=/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/demo include=/u01/app/oracle/product/11.2.0/dbhome_1/plsql/public include=/u01/app/oracle/product/11.2.0/dbhome_1/network/public Pro*C/C++: Release 11.2.0.1.0 - Production on Fri Mar 28 16:00:00 2014 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. System default option values taken from: /u01/app/oracle/product/11.2.0/dbhome_1/precomp/admin/pcscfg.cfg make[2]: ディレクトリ `/home/oracle/installer/chcsv/chcsv' から出ます /usr/bin/gcc -O3 -trigraphs -fPIC -DPRECOMP -I. -I/u01/app/oracle/product/11.2.0/dbhome_1/precomp/public -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/demo -I/u01/app/oracle/product/11.2.0/dbhome_1/plsql/public -I/u01/app/oracle/product/11.2.0/dbhome_1/network/public -DLINUX -DORAX86_64 -D_GNU_SOURCE -D_LARGEFILE64_SOURCE=1 -D_LARGEFILE_SOURCE=1 -DSLTS_ENABLE -DSLMXMX_ENABLE -D_REENTRANT -DNS_THREADS -DLONG_IS_64 -DSS_64BIT_SERVER -DLDAP_CM -m64 -c chcsv.c chcsv.c: In function ‘main’: chcsv.c:544: 警告: キャストによってポインタから異なるサイズの整数となります make -f /u01/app/oracle/product/11.2.0/dbhome_1/precomp/demo/proc/demo_proc.mk PROCFLAGS="" PCCSRC=sqlda I_SYM=include= pc1 make[2]: ディレクトリ `/home/oracle/installer/chcsv/chcsv' に入ります proc iname=sqlda include=. include=/u01/app/oracle/product/11.2.0/dbhome_1/precomp/public include=/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public include=/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/demo include=/u01/app/oracle/product/11.2.0/dbhome_1/plsql/public include=/u01/app/oracle/product/11.2.0/dbhome_1/network/public Pro*C/C++: Release 11.2.0.1.0 - Production on Fri Mar 28 16:00:05 2014 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. System default option values taken from: /u01/app/oracle/product/11.2.0/dbhome_1/precomp/admin/pcscfg.cfg make[2]: ディレクトリ `/home/oracle/installer/chcsv/chcsv' から出ます /usr/bin/gcc -O3 -trigraphs -fPIC -DPRECOMP -I. -I/u01/app/oracle/product/11.2.0/dbhome_1/precomp/public -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/demo -I/u01/app/oracle/product/11.2.0/dbhome_1/plsql/public -I/u01/app/oracle/product/11.2.0/dbhome_1/network/public -DLINUX -DORAX86_64 -D_GNU_SOURCE -D_LARGEFILE64_SOURCE=1 -D_LARGEFILE_SOURCE=1 -DSLTS_ENABLE -DSLMXMX_ENABLE -D_REENTRANT -DNS_THREADS -DLONG_IS_64 -DSS_64BIT_SERVER -DLDAP_CM -m64 -c sqlda.c sqlda.c: In function ‘SetDA’: sqlda.c:932: 警告: キャストによってポインタから異なるサイズの整数となります sqlda.c:937: 警告: キャストによってポインタから異なるサイズの整数となります sqlda.c:945: 警告: キャストによってポインタから異なるサイズの整数となります make -f /u01/app/oracle/product/11.2.0/dbhome_1/precomp/demo/proc/demo_proc.mk PROCFLAGS="" PCCSRC=Option I_SYM=include= pc1 make[2]: ディレクトリ `/home/oracle/installer/chcsv/chcsv' に入ります proc iname=Option include=. include=/u01/app/oracle/product/11.2.0/dbhome_1/precomp/public include=/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public include=/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/demo include=/u01/app/oracle/product/11.2.0/dbhome_1/plsql/public include=/u01/app/oracle/product/11.2.0/dbhome_1/network/public Pro*C/C++: Release 11.2.0.1.0 - Production on Fri Mar 28 16:00:06 2014 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. System default option values taken from: /u01/app/oracle/product/11.2.0/dbhome_1/precomp/admin/pcscfg.cfg make[2]: ディレクトリ `/home/oracle/installer/chcsv/chcsv' から出ます /usr/bin/gcc -O3 -trigraphs -fPIC -DPRECOMP -I. -I/u01/app/oracle/product/11.2.0/dbhome_1/precomp/public -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/demo -I/u01/app/oracle/product/11.2.0/dbhome_1/plsql/public -I/u01/app/oracle/product/11.2.0/dbhome_1/network/public -DLINUX -DORAX86_64 -D_GNU_SOURCE -D_LARGEFILE64_SOURCE=1 -D_LARGEFILE_SOURCE=1 -DSLTS_ENABLE -DSLMXMX_ENABLE -D_REENTRANT -DNS_THREADS -DLONG_IS_64 -DSS_64BIT_SERVER -DLDAP_CM -m64 -c Option.c Option.c: In function ‘Option’: Option.c:546: 警告: キャストによってポインタから異なるサイズの整数となります Option.c:555: 警告: キャストによってポインタから異なるサイズの整数となります Option.c:566: 警告: キャストによってポインタから異なるサイズの整数となります Option.c:581: 警告: キャストによってポインタから異なるサイズの整数となります Option.c:592: 警告: キャストによってポインタから異なるサイズの整数となります Option.c:601: 警告: キャストによってポインタから異なるサイズの整数となります Option.c:610: 警告: キャストによってポインタから異なるサイズの整数となります make -f /u01/app/oracle/product/11.2.0/dbhome_1/precomp/demo/proc/demo_proc.mk PROCFLAGS="" PCCSRC=OutPut I_SYM=include= pc1 make[2]: ディレクトリ `/home/oracle/installer/chcsv/chcsv' に入ります proc iname=OutPut include=. include=/u01/app/oracle/product/11.2.0/dbhome_1/precomp/public include=/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public include=/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/demo include=/u01/app/oracle/product/11.2.0/dbhome_1/plsql/public include=/u01/app/oracle/product/11.2.0/dbhome_1/network/public Pro*C/C++: Release 11.2.0.1.0 - Production on Fri Mar 28 16:00:07 2014 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. System default option values taken from: /u01/app/oracle/product/11.2.0/dbhome_1/precomp/admin/pcscfg.cfg make[2]: ディレクトリ `/home/oracle/installer/chcsv/chcsv' から出ます /usr/bin/gcc -O3 -trigraphs -fPIC -DPRECOMP -I. -I/u01/app/oracle/product/11.2.0/dbhome_1/precomp/public -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/demo -I/u01/app/oracle/product/11.2.0/dbhome_1/plsql/public -I/u01/app/oracle/product/11.2.0/dbhome_1/network/public -DLINUX -DORAX86_64 -D_GNU_SOURCE -D_LARGEFILE64_SOURCE=1 -D_LARGEFILE_SOURCE=1 -DSLTS_ENABLE -DSLMXMX_ENABLE -D_REENTRANT -DNS_THREADS -DLONG_IS_64 -DSS_64BIT_SERVER -DLDAP_CM -m64 -c OutPut.c OutPut.c: In function ‘OutPut’: OutPut.c:520: 警告: キャストによってポインタから異なるサイズの整数となります OutPut.c:525: 警告: キャストによってポインタから異なるサイズの整数となります OutPut.c:529: 警告: キャストによってポインタから異なるサイズの整数となります OutPut.c: In function ‘FlashBuffer’: OutPut.c:557: 警告: キャストによってポインタから異なるサイズの整数となります make -f /u01/app/oracle/product/11.2.0/dbhome_1/precomp/demo/proc/demo_proc.mk PROCFLAGS="" PCCSRC=Signal I_SYM=include= pc1 make[2]: ディレクトリ `/home/oracle/installer/chcsv/chcsv' に入ります proc iname=Signal include=. include=/u01/app/oracle/product/11.2.0/dbhome_1/precomp/public include=/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public include=/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/demo include=/u01/app/oracle/product/11.2.0/dbhome_1/plsql/public include=/u01/app/oracle/product/11.2.0/dbhome_1/network/public Pro*C/C++: Release 11.2.0.1.0 - Production on Fri Mar 28 16:00:08 2014 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. System default option values taken from: /u01/app/oracle/product/11.2.0/dbhome_1/precomp/admin/pcscfg.cfg make[2]: ディレクトリ `/home/oracle/installer/chcsv/chcsv' から出ます /usr/bin/gcc -O3 -trigraphs -fPIC -DPRECOMP -I. -I/u01/app/oracle/product/11.2.0/dbhome_1/precomp/public -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/demo -I/u01/app/oracle/product/11.2.0/dbhome_1/plsql/public -I/u01/app/oracle/product/11.2.0/dbhome_1/network/public -DLINUX -DORAX86_64 -D_GNU_SOURCE -D_LARGEFILE64_SOURCE=1 -D_LARGEFILE_SOURCE=1 -DSLTS_ENABLE -DSLMXMX_ENABLE -D_REENTRANT -DNS_THREADS -DLONG_IS_64 -DSS_64BIT_SERVER -DLDAP_CM -m64 -c Signal.c /usr/bin/gcc -m64 -o chcsv chcsv.o sqlda.o Option.o OutPut.o Signal.o -L/u01/app/oracle/product/11.2.0/dbhome_1/lib/ -lclntsh `cat /u01/app/oracle/product/11.2.0/dbhome_1/lib/ldflags` `cat /u01/app/oracle/product/11.2.0/dbhome_1/lib/sysliblist` -ldl -lm chcsv.o: In function `SysOraErr': chcsv.c:(.text+0x443): warning: `sys_errlist' is deprecated; use `strerror' or `strerror_r' instead chcsv.c:(.text+0x3a2): warning: `sys_nerr' is deprecated; use `strerror' or `strerror_r' instead make[1]: ディレクトリ `/home/oracle/installer/chcsv/chcsv' から出ます
=> 今度はエラーなくmakeコンパイル終了
chcsvが生成されていることを確認
[oracle@localhost chcsv]$ ls -ltr 合計 292 -rwxr-xr-x. 1 oracle oinstall 1211 4月 5 23:09 1999 BUILD.org -rw-r--r--. 1 oracle oinstall 1150 4月 5 23:09 1999 sqlhead.h -rw-r--r--. 1 oracle oinstall 11520 4月 5 23:09 1999 sqlda.pc -rw-r--r--. 1 oracle oinstall 1160 4月 5 23:09 1999 extern.h -rw-r--r--. 1 oracle oinstall 8544 4月 5 23:09 1999 chcsv.pc -rw-r--r--. 1 oracle oinstall 3801 4月 5 23:09 1999 chcsv.h -rw-r--r--. 1 oracle oinstall 2709 4月 5 23:09 1999 Signal.pc -rw-r--r--. 1 oracle oinstall 3839 4月 5 23:09 1999 README.sjis -rw-r--r--. 1 oracle oinstall 3839 4月 5 23:09 1999 README.euc -rw-r--r--. 1 oracle oinstall 3492 4月 5 23:09 1999 README -rw-r--r--. 1 oracle oinstall 2803 4月 5 23:09 1999 OutPut.pc -rw-r--r--. 1 oracle oinstall 7000 4月 5 23:09 1999 Option.pc -rw-r--r--. 1 oracle oinstall 168 4月 5 23:09 1999 Makefile -rw-r--r--. 1 oracle oinstall 1835 4月 5 23:09 1999 INSTALL.euc -rw-r--r--. 1 oracle oinstall 1577 4月 5 23:09 1999 INSTALL -rwxr-xr-x. 1 oracle oinstall 1211 3月 28 15:04 2014 BUILD -rw-r--r--. 1 oracle oinstall 25785 3月 28 16:00 2014 chcsv.c -rw-r--r--. 1 oracle oinstall 0 3月 28 16:00 2014 chcsv.lis -rw-r--r--. 1 oracle oinstall 11248 3月 28 16:00 2014 chcsv.o -rw-r--r--. 1 oracle oinstall 0 3月 28 16:00 2014 sqlda.lis -rw-r--r--. 1 oracle oinstall 35032 3月 28 16:00 2014 sqlda.c -rw-r--r--. 1 oracle oinstall 14936 3月 28 16:00 2014 sqlda.o -rw-r--r--. 1 oracle oinstall 0 3月 28 16:00 2014 Option.lis -rw-r--r--. 1 oracle oinstall 21478 3月 28 16:00 2014 Option.c -rw-r--r--. 1 oracle oinstall 9384 3月 28 16:00 2014 Option.o -rw-r--r--. 1 oracle oinstall 0 3月 28 16:00 2014 OutPut.lis -rw-r--r--. 1 oracle oinstall 17281 3月 28 16:00 2014 OutPut.c -rw-r--r--. 1 oracle oinstall 3104 3月 28 16:00 2014 OutPut.o -rw-r--r--. 1 oracle oinstall 17187 3月 28 16:00 2014 Signal.c -rw-r--r--. 1 oracle oinstall 0 3月 28 16:00 2014 Signal.lis -rw-r--r--. 1 oracle oinstall 4016 3月 28 16:00 2014 Signal.o -rwxr-xr-x. 1 oracle oinstall 30134 3月 28 16:08 2014 chcsv
叩いてみる。
[oracle@localhost chcsv]$ ./chcsv ./chcsv Version 2.00, Copyright (C) 1995 Batayan. Usage: ./chcsv userid/passwd [-o Output Filename] [-a Appended Output Filename] [-i Input Filename] [-e Enclosure] [-t Terminater] [-l Length of Long Type] [-f Array size of fetch] [-b Buffer size of output] [-v] [-h] [-n] [const] [const] .... ********************************************************************* chcsv is distributed under the GNU General Public License. chcsv comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions, GPL. If you have any PROBLEMS with chcsv, or find BUGS, please mailto kawabata@personal.email.ne.jp Thank you !!! *********************************************************************
実行できることを確認
[oracle@localhost chcsv]$ echo "select sysdate,sysdate from dual" | ./chcsv hr/hr@orcl 14-03-28,14-03-28