dポイントプレゼントキャンペーン実施中!

オラクルSQLでつくったテーブル&データを、
cobolで読み込んで使うにはどうすればいいのでしょうか?

例えば、
この「ひよこグミ」さんのページ
http://www16.plala.or.jp/hiyokogumi/
のmission3にある「ファイルを読む」ですが、
SELECT A-FILE ASSIGN TO \"c:\\cobol\\lst001.cbl\"
を記述する必要があるそうですが、このc:\\cobol\\lst001.cbl
に当てはまる部分に、どうやったらSQLでつくったデータを当て込めるのか、
お伺いしたいです。

A 回答 (1件)

ご質問のページは「フラットファイル」の読み方の説明ですから、ORACLEのテーブルに直接アクセスできるわけではありません。


(直接アクセスについては後述します)

「COBOLで読めるフラットファイルを作成するには?」と言う意味に読み替えて回答するなら、SQL*Plusで、SELECT結果をSPOOLすればよいと思います。
SPOOLの前に、以下を実行しておけば、余分なヘッダー等が出ないので、他のアプリから使いやすくなります。

set trims on
set heading off
set verify off
set feed off
set linesize 2000
set pause off
set echo off
set termout off
set pagesize 0

それと気をつける点は、各カラムに合わせて、事前に
col カラム名 format a90
などでカラムのフォーマットを指定しておき、SPOOL時に余計な改行が入らないようにする必要があります。

こうして作成したファイルは、固定長のフラットファイルなので、COBOL85から読めると思いますが、Windows版のCOBOLで改行をどのように扱っているのか、私にはわかりません。
(ひょっとすると改行を外す必要があるのかもしれません)

COBOL85からORACLEに直接アクセスするには Pro*COBOL と言うプリコンパイラをオプションで使う必要がありますが、COBOL85のベンダー(富士通、日立etc.)各社から、ORACLEにアクセスするためのオプションが独自にあると思います。
(ご使用の各ベンダーにご確認を)
Pro*COBOLは、商用で使う場合は、ライセンスを別途購入する必要があったかもしれません。
(ORACLEにご確認を)
    • good
    • 0
この回答へのお礼

詳しいご説明ありがとうございました!

お礼日時:2009/05/04 08:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!