###前提・実現したいこと
現在、VB6.0,VC++6.0で作成されているシステムのリプレイスを行っています。
現行はOracle10gを使用しているのですが、リプレイスを機にOracel11gにすることになりました。
VB.netやC#は開発したことがあるのですが、C++は全く触ったことが無い状態です。
(その為ソースファイルが複数あるのも「?」な状態です。)
現行動いているシステムのソースはあるのですが、このシステムは他社さんが開発したもので、
ソースを元に作業を行っています。
現行動いているシステムに一部機能の追加をし、Oracle11gとのやり取りを行うようにしたいです。
この時、VC6.0でDLLを作成し、VB6.0のアプリから使用しています。
DLLでOracleへのデータ登録や参照等を行っているので、その部分を修正すれば動くだろうと
思い修正をしているのですが、ビルドは通るのですが、実行するとエラーとなってしまいます。
どこを修正すればいいのかもわからない状態となってしまいました。
そもそもの修正箇所や作業の仕方が間違っている可能性もありますので、
その点のご指摘でも構いませんので、ご協力をお願い致します。
また情報が不足していることもあると思いますので、その点もご指摘ください。
###発生している問題・エラーメッセージ
SQL-02115: コード解析の問題 -- COMMON_NAMEの使用法をチェックしてください
###試したこと
今回の修正は、得意先マスタにカラムが追加されたので、その対応をしようとしています。
プロジェクトを開き、該当のSQLが記載されているファイル(.c)のSQL文を修正し、ヘッダーファイル(.h)
に宣言されているstructに項目を追加しました。
ResourceFileとしてorasql10.libとorasqx10.libがありましたのでそれを11gのものに変更しました。
最初は、上記を直してもビルドが通らず、sqlca.hのファイルがインクルードできないとなっていたのですが、
プロジェクトの設定からC/C++のプリプロセッサのインクルードファイルのパスに、Oracleのフォルダを
指定したら、ビルドが通るようになりました。
ただ、VB6.0のexeから実行すると上記のエラーになります。
プロジェクトのFileViewには.cと.hのファイルはあるのですが、この他に.pcという拡張子のファイルも
フォルダには存在します。
pcファイルについてググると Pro*c という単語が出てくるのですが、具体的にどのように修正するのかが
分かりませんでした。
どこをどのように修正すればいいのでしょうか?
###補足情報(言語/FW/ツール等のバージョンなど)
言語:VC6.0
DB:Oracle11g
PC:Windwos7
###追記
takasima20 様
コメントありがとうございます。
Oracle10gとOracle11gは別のサーバーです。また、今回起きている事象は、開発PCでのことですので、
Oracle11gのみインストールされています。
また、Oracleのクライアントツールからの接続は確認しています。
KoichiSugiyama 様
コメントありがとうございます。
修正前と修正後のSQLになります。
修正前
sqlstm.stmt = "insert into 得意先マスタ values (:b0,:b1,:b2,:b3,:b4,:b5,Sysdate)";
修正後
sqlstm.stmt = "insert into 得意先マスタ (得意先NO, 得意先名, 本部NO, 取引先NO, 店NO, 更新プロセス, 更新日時, ラベルパターン) values (:b0,:b1,:b2,:b3,:b4,:b5,Sysdate,:b6)";
回答3件
あなたの回答
tips
プレビュー