• 締切済み

SQLをcobolに記述することでのエラー

NetCOBOLでSQLを埋め込んだプログラムを作成しています。 その中でどうしてもうまくいかないのが、短いSQLをCOBOLに記述すると、コンパイル(プレコンパイル→コンパイル→.dll)は通るのですが、実行の際にプログラムが見つからない旨のエラーが出てしまっています。 ソースを色々いじって分かったのは SQLを実行しなくてもソース内に記述するだけで実行エラーとなる。ということです。 コンパイルの時点で何かオプションが必要なのか、SQLが内部的にcallしているモノが何かおかしいのか、幾らか思い当たる部分はあるもののどうしていいかは全くわからずです。 どなたか似た経験ある方や、おもいあたる節のある方いらっしゃいましたら、どんな些細な事でもいいのでご教示願います。

みんなの回答

回答No.1

具体的なエラーの内容(メッセージ本文、コード類、SQLの記述など)の提示がないなら、アドバイスのしようがありません。 NetCOBOLの埋め込みSQLって、対象RDBMSはSymfowareだけではなかったですよね。その辺の環境なども提示がなければ、何をアドバイスしていいのか判断できません。

関連するQ&A

  • cobolの関連ソースについて

    今、触ったこともないcobolのソースの管理をやれ、と言われてます。 で、cobolの実行プログラム、拡張子は、*****.so 見たいな感じなのですが、それをコンパイルするのに、多くのソースがいるみたいなのです、その関連を調べろ、と言われました。たとえば、cobolのmakefileと呼ばれているものを、unix上でviで開いてみると、「ヘッダープログラム」なるコメント文が書いていたり、オブジェクトとか書いていたり、、そして、そのヘッダーの部分をみると、たしかにプログラムの名称が書いているので、今度はそのプログラムの中身を見てみると、同じように、また違うプログラムを参照しているようなのです。ひとつの実行ファイルを生成するのに、ソースがツリー構造になっていて、それをすべて理解する必要があるのですが、中身をみたときに、どういうコマンド等を参照していけばいいのかわかりません。 分かりやすく整理すると、ある実行プログラムを生成するのに、ソースが必要なのですが、そのソースの全てを洗い出すには、どうすればいいのか?ということなのですが、 詳しい方、ぜひよろしくお願いします!

  • [COBOL] ソースの復帰

    COBOLのプログラムなのですが、 コンパイル済みのオブジェクトから ソースを引っ張りだす、というようなことはできるのでしょうか? プログラム自体はあるのですがソースが見つからなくて 困っております。 宜しくお願いいたします。

  • php中のSQLの記述について

    こんにちは。 いつもお世話になっています。 PHPでSQLを使ったプログラミングをする場合のSQLの記述方法についてお尋ねしたいです。 以下3つのような書き方をしているプログラムを見かける事があり、それぞれ利点などもあると思うのですが、みなさん的にはどの書き方がわかりやすいかお返事頂ければ嬉しいです。 また他にも良い書き方などがあれば紹介して頂けると嬉しいです。 1.メインプログラム中にSQLをそのまま記述 2.SQL+SQL実行までをfunctionやclassにまとめ別ファイルとし、メインプログラムから呼び出す 3.複数のSQLを1つの別ファイル中で変数定義し、メインプログラムからそれらのファイルをrequireし、SQL実行時にはその変数を利用 4.1つのSQL毎に1ファイルを作成し、メインプログラムからそのSQLファイルを読み込む

    • ベストアンサー
    • PHP
  • COBOLでプログラミング

    Xp HomeEdition のPCでCOBOLのプログラムは出来ますか? 可能でしたらソフトのインストール、プログラミング、コンパイル、 実行の仕方が書かれた本かHPをお教え下さい。

  • COBOLで、Shellを起動するには?

    UNIX上で、COBOLプログラムからShellを起動したいのですが、その方法が判りません。 CALL文を使うのかな?と思ったのですが、翻訳時にLinkエラーになってしまいます。 その時書いた文 => CALL "TEST.sh" ひょっとして、出来ないのでしょうか? COBOLが詳しくないので、単純に書き方が悪いのかも知れませんが... 申し訳ありませんが、ご教授願います。

  • COBOLソースに記述するホスト変数を使用したSELECT INSER

    COBOLソースに記述するホスト変数を使用したSELECT INSERT分に関する質問です。 COBOLのソースに下記のようなSQL分を記述した際、どのような制御でホスト変数にはどのような値が代入されるのでしょうか? SELECT MAX(columnA) INTO :H1010:H2020 FROM A_TABLE WHERE …(以下抽出条件) ※H1010及びH2020はホスト変数定義しているものとします。 SELECTを行った項目数とINTO句にて指定した変数の数が異なる場合、エラーとなる記憶があります。 また、複数のホスト変数を使用する場合、カンマ区切りが必要だった記憶もあります。 実際に実行したところ、エラー等無く実行されました。結果を見るとH1010には値が代入され、H2020は初期値のままでした。 どのような制御でこの結果になっているのでしょうか? 参考までに、DBMSは「symfoware」です。 もしご存知の方がいらっしゃいましたら、ご教授頂けると助かります。よろしくお願いします。

  • COBOLの論理演算子について

    コボルのIF文で IF 区分1 NOT = """ とした記述はコンパイルでエラーとなりました・・・  " は句読文字?なのでこのままでは使えないようなのですが。 どのようにしたら " を判断してくれるのでしょうか?

  • COBOLの考え方からJavaへ

    今までIBMホスト畑で働いていたので、使用できる言語は COBOLやPL/Iだけでしたが、今後の仕事の展開も考え Javaを習得したいと思っています。 とりあえずJava言語の入門書を終えたので、 次は、以前新人のCOBOL研修用に作成した仕様書を Javaで書きかえてみようと思いたったのですが・・・ できませんでした。。。 COBOLは、MAINルーチンをプログラムの主とし 個々の機能(FILEのREAD処理など)をそれぞれの SUBルーチンで記述するといった構造的な作りになっています。 これをJavaにすると「FileのREAD処理」を1つのクラスとして考え、 「MAINルーチン的」な実行クラスから 「FileのREAD処理」クラスを呼ぶ(継承する)のか? オブジェクト指向とは、もっと別のことではないか? といったように、全然ちんぷんかんぷんな状況です。 みなさん、Javaでプログラムを記述するときは どういったアルゴリズムを考えながら記述しているのでしょうか? 是非ともご教授ください。 また、COBOLには、誰がソースをみてもわかりやすいように 記述するなどの暗黙的な決まり(ネストは3回程度など)があるのですが、 Javaにもあるのでしょうか?

    • ベストアンサー
    • Java
  • COBOLのCALL文について

    普段ほとんどCOBOLには触らないCOBOL初心者です。暇つぶしに業務のCOBOLソースを読んでいたら下記のような記述があったのですが、REFERENCEとVALUEが何を意味しているのかよくわかりません。 CALL "abc" USING AAA REFERENCE BBB VALUE CCC http://www.tsh-world.co.jp/sp/support/manual/V701html/gtman3/gt3_163.htm 上のサイトなどで調べたところ、CALL文にはBY REFERENCEやBY VALUEなどが続く事があるようですが、それとは微妙に異なる気がします。それはBY REFERENCEは参照渡し、BY VALUEは値渡しを指定しているという認識ですので、2つを同時に指定するのはありえないという考えからです(BYの記述がないのも気になりますが)。 何かわかる方おりましたらご教示お願いします。 情報が足りなければ、その旨書いて頂ければ補足いたします。(といっても手元にソースがなかったり)

  •  cobolのカーソルについて

     cobolのカーソルについて  初投稿させていただきます。ですので体裁やルールを守れていない場合は、ご指摘願います。  cobolにおいて埋め込みSQL文によるカーソルをオープンし、fetchでテーブルを読み込む作業についてなんですが、一度のプログラム起動において同じテーブルを複数回読むにはどのようなソースを描けばよいのでしょうか。  具体的にはあるテーブルの5個のレコードを上から順に何度も読むといった次第です。  お分かりになられる方がいましたら、ご指導願います。よろしくお願いします。

専門家に質問してみよう