人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

COBOLで汎用的なデータ処理について

あるDBから別のDBへDBリンクでテーブルを連携しようと思っています。
COBOLで次のような処理は可能でしょうか。

?データ抽出
SELECT
カラム名とカラム数をパラメータで取得(可変)
FROM
テーブル名をパラメータで取得(可変)
WHERE
条件は固定

?登録または更新
?で取得したデータについて登録またはアップデート

?パラメータファイルで次のテーブルを取得して
?へループする。

?パラメータファイルにある全てのテーブルの処理が終了したら終わり

1321621887
●拡大する

●質問者: dasman74
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● うぃんど

COBOLも多種ありますし、DBも多種あるので、
どのようなOSで、どのようなCOBOLで、DBが何か、
それぞれが別々のコンピュータ上にあるのか、
それらは離れたところにあるのか・・・
組み合わせによって、回答は変わりますよ

単純に可能かどうかって質問にまとめるとしても、
「そのCOBOL実行系からDBを利用するためのドライバがあれば可能」ってくらいです

ドライバにもODBCのようなものから、
Oracle Pro*COBOLのようなネイティブなものまでいろいろありますし・・・

こんな回答で足りるならばいいけれど、多分足りませんよね?
書いてもいいのであればだけど、、、、冒頭で述べたように、
組み合わせ(バージョンもね)を書いて引き続き回答を待ってみます?


2 ● morinatsu

汎用機(IBM)+DB2、およびUNIX機+OracleでCOBOL経験があります。

COBOLというより、コンパイラ言語は一般的に可変のSQLを扱うのは苦手です。
ホスト変数を介して、COBOL?SQL間のデータのやりとりを行うので、変数とDB項目の対応関係が予め想定できないとコンパイルができないためです。実行時に融通を利かせることはできません。
なので、複数のプログラムないしSQLをあらかじめ用意して、必要に応じて切替える…以上のことは期待しにくいと思います。

15?5年くらい前までの知識をもとにした回答は以上になります。

もしかしたら、もっと自由度の高い実装(インタプリタで動くCOBOLとか)が出ているのかも知れませんが、私自身は聞いたことがないです。


うぃんどさんのコメント
9370+MVS+AS+DB2とか・・・懐かしい それはさておき本来なら、テープかディスクに落として、 そこからロードするなんて手を奨めるべきなんでしょうけど、 何らかの理由があって、それ以外の可能性を探しているんでしょう 質問者からの返信が無いので、待つしかないのですが、 とりあえず「COBOL 動的SQL」でググってみてください 融通を利かせることが可能であることは判るはずです 以上、横槍失礼しました
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ