VB6.0で開発したアプリ内でPro*Cプログラムを
Shell関数でCALLしてOracle8iデータベース環境に
接続しようとしていますが、Pro*Cプログラム内の
CONNECT命令で"ORA-6413 接続がオープンしていません。"が返され、接続できません。
(Pro*Cコンパイル時のNetのバージョンもマシン環境と合わせてあります)
どなたか解決策お持ちの方、教えて頂けないでしょうか。よろしくお願いします。
なお、この処理は以前は全く問題なく動いていたのですが、
突然接続エラーが出るようになってしまいました。
※コーディングは下記のようにしています。
(VB)
変数1 = Shell(PRO*C.exe 接続情報(id/ps@Host) 引数2 引数3 引数4 引数5 引数6 引数7)
(Pro*C ちょっと見にくいですが。。)
int DBConnect( 接続情報 )
char *接続情報 ;
{
strcpy( (char *)変数.arr, 接続情報 ) ;
変数.len = strlen( (char *)変数.arr ) ;
EXEC SQL CONNECT :変数 ;
return(0) ;
sqlerr:
warning:
Err_Print( sqlca.sqlerrm.sqlerrmc ) ; ←Connectでエラーとなりここに飛んでます。Err_Print内でテキストにエラーメッセージを吐いてます
return(-1) ;
}
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
先ほど同様の問題が発生し、
検索してここにたどり着きました。
(前は動いていたのに動かなくなった)
原因はEXE名にカッコが入っていたからでした。
→EXE名を変えると動作しました。
EXE名もoracleに送信されるので
使ってはマズイ文字が入ったEXE名だと
接続できなくなるからです。
No.4
- 回答日時:
>ちなみに他のPCではありませんが、他のPro*Cexeは同じ接続文字列で接続できて動いてます。
じゃぁ、一番先に思いつくのは動かないPro*Cのexeが悪いってことですよね。
他に何が考えられますか?
exeの引数の処理の仕方が間違ってるだけのような気もしますけど。
No.3
- 回答日時:
>しかし、DOS窓上でVBコーディングと同じようにPro*C.exeを起動すると
>VBから実行したのと同じ結果となってしまいます。
>(つまり、VBからの引数のid/pass@HOSTでPro*C内でCONNECT命令を発行すると接続できないということです)
もうひとつ確認ポイントを挙げていたんですけど。
>・他のPCでPro*Cのexeをコマンドプロンプトから起動して動作するか?
この回答への補足
現在、すぐには他のPCが準備できないので問題のEXEを他PCで試すことができません。
ちなみに他のPCではありませんが、他のPro*Cexeは同じ接続文字列で接続できて動いてます。
No.2
- 回答日時:
この部分が気になりますが、SQL Plusでは接続できますか?
>なお、この処理は以前は全く問題なく動いていたのですが、
>突然接続エラーが出るようになってしまいました。
この回答への補足
補足が遅くなり申し訳ありません。
SQL PlusではVBコーディング内のid/passで接続できます。
しかし、DOS窓上でVBコーディングと同じようにPro*C.exeを起動するとVBから実行したのと同じ結果となってしまいます。(つまり、VBからの引数のid/pass@HOSTでPro*C内でCONNECT命令を発行すると接続できないということです)
引き続きのフォロー、お願いします。
No.1
- 回答日時:
まず、問題の切り分けが必要。
・Pro*Cのexeをコマンドプロンプトから起動して動作するか?(同じPC上で)
するんでしたらVBからの呼び方が悪いってことに。
しないんだったら、
・他のPCでPro*Cのexeをコマンドプロンプトから起動して動作するか?
これで切り分けはできるんじゃないですか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# const char** p;のとき、free(p)でC4090エラーとなるのはなぜですか 3 2023/03/31 16:28
- Wi-Fi・無線LAN PCWi-Fiの設定方法がわからなくて困っています。 4 2022/12/28 18:30
- ドメイン・サーバー・クラウドサービス FileZillaを使用してwpXサーバーに接続できない 2 2022/03/29 21:02
- C言語・C++・C# スタックフレームの消滅 6 2023/05/20 12:33
- その他(プログラミング・Web制作) pythonのグローバル変数 2 2022/11/25 18:02
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- デスクトップパソコン USB接続のマイクについて 6 2022/09/18 07:54
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- オープンソース Coinmarketcap api 1 2022/05/30 15:47
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ORA-12170のエラーについて
-
ORA-12154 TNS:指定された接続...
-
Oracle10g・・ODBCで接続できない
-
SQL*PLUSにてデータベース名表示
-
「ORA-12154:TNS:サービス名を...
-
mysql pro 予期せぬエラーが起...
-
リスナーを使用しないでOracle...
-
データソース名および指定され...
-
特権ユーザーって?
-
SQLServerをlocalhost接続のみ...
-
データベース接続情報作成しま...
-
VB.NET Oracle接続 32、64bit
-
ExcelとOracleの連携について
-
SIDとSERVICE_NAMEの違いとは?
-
DB2で SQL1032N start databas...
-
otn がメンテ中なのですみませ...
-
PCゲーム Hard☆Love☆Life
-
YGOPro2の日本語パッチがない
-
Real Playerで動画が見れない
-
SQLサーバー認証でログインを作...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ORA-12170のエラーについて
-
データベース接続情報作成しま...
-
データソース名および指定され...
-
「ORA-12637」エラーでORACLEに...
-
Oracle10g・・ODBCで接続できない
-
オープン時にエラーが出て接続...
-
Oracleが突然接続不可に!
-
SQL*PLUSにてデータベース名表示
-
ORA-12154 TNS:指定された接続...
-
クライアントからのリスナーが...
-
SQLSERVER 2008 ODBC接続
-
ACCESSからODBC接続でORA-12504
-
「ORA-6413 接続がオープンして...
-
オラクルに接続できない
-
VB.NET Oracle接続 32、64bit
-
Oracle sqlplusで接続できなくない
-
oracle rac構成での 接続先につ...
-
Oracle 64bit から win10 64bit...
-
オラクル接続
-
sqlplus / as sysdba で接続不可
おすすめ情報