DBリンクキット:COBOLからSQL Serverにアクセスするため、SQL Serverの列の定義はユーザ定義データ型(P3_U05V02_BI(binary(8)))を使用しています。そこで、この列に次のようなデータをロードしようとするとエラーとなるのですが、 正しいデータの作成方法について教えてください。入力データファイル(CSV形式) ---- bcp ----→ 表(SQL Server) ↓100,101.01,100, ^^^^^^ 1.','で区切った形でパ
質問内容
COBOLからSQL Serverにアクセスするため、SQL Serverの列の定義はユーザ定義データ型(P3_U05V02_BI(binary(8)))を使用しています。
そこで、この列に次のようなデータをロードしようとするとエラーとなるのですが、 正しいデータの作成方法について教えてください。
入力データファイル(CSV形式) ---- bcp ----→ 表(SQL Server)
↓
100,101.01,100,
^^^^^^
1.','で区切った形でパック式の10進数へピリオドを入れた形式であるとエラーとなり入れることができない。
2.単純に '100'を入れるとマイナスのついたデータが入ってしまう。
(DBリンクキットのsp_linkselectでデータ内容を確認)
回答内容
DBリンクキット for SQL Serverヘルプの'binaryの数値表現形式'に CSV作成方法を記述しています。
'データのインポート'を参照してください。
ポイント:16進数にして'0x'を付けず、下位の00を削除してインポートするようにしてください(例も記載しています)。
なお、整数部5桁小数部2桁であれば、Ver2.0より、money型をサポートしており、これで数字として扱えます(最大整数部14桁小数部2桁)。
また、SQL Server Ver6.0以上でDBリンクキット for SQL Server Ver2.1以上をご使用の場合は、decimal型が利用可能となります。
これらのデータ型もご検討ください。
-
コンテンツID:
3150003191
-
公開日:
1998年11月24日
-
最終更新日:1998年11月24日
アンケート
サポート情報充実のためアンケートにご協力をお願いいたします。
コメント欄: