oracle CHAR型データにデータが入らない件
仕事でどつぼにはまったのでメモ。
oracleからストアドプロシージャー経由でデータを出力するもので、
CHAR型 なおかつ OUTPUT である場合に、データが帰ってこない、尻切れになって帰ってくる、後ろが無い場合、
oracleのパラメータ指定時にこうしないとだめ。
ObjOraDatabase..Parameters.Add space(10), ORATYPE_CHAR, ORAPARM_OUTPUT
space(10)のところがポイント。
ここを null とか "" と指定しちゃうとCHAR型で1バイト分しか確保されない。
なのでストアドプロシージャ内部で返している列を参照し、その分のバイト数分は確保しないとだめ。
Oracle8.0.6+VB6 ではまって3時間悩みました。
ヽ(*`Д´)ノウワーン