
Pro*cの質問です。
CONNECTは成功したのですが、カーソルのオープンでエラーになります。
(ORA-01012:ログオンされていません。)
環境に問題があると考え、いろいろと調べているのですが、全く解りません。
自分側か、DB側の問題なのかどうかも、判断できていない状況です。
非常に困っております。どなたか御存知の方、御教授ください。
以下が動作環境になります。
WIN版:
Windows2000,VC,Pro*C(8i),Net8,マルチスレッド
UNIX版:
Solaris8:ForteC,Pro*C(9i),Net8,64Bit,マルチスレッド
以上、情報が不足しているかも知れませんが、宜しくお願い致します。
No.2ベストアンサー
- 回答日時:
こんにちわ。
#1 のmuyoshid です。
AT 句を指定してCONNECT 文を実行しているにも関わらず、
カーソル宣言でAT 句が指定されていないのが原因では
ないでしょうか?
AT 句の詳細については、
「Oracle8i Pro*C/C++ プリコンパイラ・プログラマーズ・ガイド」
にて確認してみて下さい。
ユーザ登録が必要 (無料) ですが、OTN Japan でPDF 形式の
マニュアルをDownload する事ができます。
参考URL:http://technet.oracle.co.jp/
御指摘ありがとうございます。
現在、AT句なしでテストしています。(必要ない事が分かった為)
>EXEC SQL CONNECT :UserName IDENTIFIED BY :Password USING :DbString;
ちょっと頭が煮詰ってるので、クールダウン(散歩)してから作業し、追って結果を報告致します。
都合の良い時にまた、覗いてみてください。
それでは。
No.1
- 回答日時:
こんにちわ。
2点程確認させて下さい。
1) この現象は、Windows版, UNIX版の両方で発生するのでしょうか?
2) DB に発行しているSQL文 (CONNECT 文も含めて) を
教えて下さい。
この回答への補足
1)この現象は、Windows版, UNIX版の両方で発生しています。
2)以下がSQL文です。
intdb_logon(char* DbString)
{
charUserName[16]= USERNAME;
charPassword[16]= PASSWORD;
strcpy((char*)UserName.arr, UserName);
strcpy((char*)Password.arr, Password);
strcpy((char*)DbString.arr, DbString);
UserName.len = strlen((char*)UserName.arr);
Password.len = strlen((char*)Password.arr);
DbString.len = strlen((char*)DbString.arr);
EXEC SQL WHENEVER SQLERROR GOTO sql_err;
EXEC SQL DECLARE DB_NAME DATABASE;
EXEC SQL CONNECT :UserName IDENTIFIED BY :Password AT DB_NAME USING :DbString;
return(0);
sql_err:
return(-1);
}
intdb_cursordef()
{
EXEC SQL WHENEVER SQLERROR GOTO sql_err;
EXEC SQL DECLARE cursor CURSOR FOR
SELECT A FROM TBL;
return( 0 );
sql_err:
return(-1);
}
intdb_cursoropen()
{
EXEC SQL WHENEVER SQLERROR GOTO sql_err;
EXEC SQL OPEN cursor;
return( 0 );
sql_err:
return( -1 );
}
---------------------- 以上画SQL文です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAでArrayListを使う為の「mscorlib.tlb」の参照設定について 3 2022/03/23 19:45
- Windows 10 Windows11タスクバーやエクスプローラー、スタートメニュー 動画全画面時にカーソルが見えない 1 2022/04/08 00:03
- デスクトップパソコン 問題が発生したため、PCを再起動する必要があります。エラー情報を収集しています。自動的に再起動します 5 2022/06/02 11:15
- MySQL データベースの複製の仕方(mysql) 2 2023/05/30 18:24
- Visual Basic(VBA) VBAのエラーについて 2 2023/08/02 17:46
- 中古パソコン このPCでOKでしょうか? 3 2022/12/13 07:53
- ドメイン・サーバー・クラウドサービス FileZillaを使用してwpXサーバーに接続できない 2 2022/03/29 21:02
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- Windows 10 Windows Updateの更新ができない場合に初期化 3 2023/01/18 20:00
- フリーソフト DVDshrink メモリリソースが足りません。 1 2022/08/16 23:17
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
実行時エラー 438になった時の...
-
Invalid procedure call or arg...
-
VBAがブレークモードになっ...
-
なぜこんな初歩的なVBAのIf文で...
-
なぜエラーになるのでしょうか...
-
EXCEL VBAマクロ中断でデバッグ...
-
VBAのエラー発生場所をメッセー...
-
VBAでのエラー
-
Outlook.ApplicationをCreateOb...
-
マクロについて教えてください...
-
excel エラー値を非表示にした...
-
実行時エラー48発生時のDLL特定...
-
OLEDB.NETで接続できない
-
ExcelVBA Range クラスの Page...
-
エクセル/自動記録VBAが、なぜ...
-
ExcelVBAで、ユーザー定義型は...
-
DataGridView からの値取得に関...
-
トランスポートレベルのエラー
-
VBAの実行時エラー91!どうしよ...
-
アクセス 実行時エラー3265
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
実行時エラー 438になった時の...
-
なぜこんな初歩的なVBAのIf文で...
-
VBAがブレークモードになっ...
-
実行時エラー -'-2147417848
-
ExcelVBA Range クラスの Page...
-
マクロについて教えてください...
-
VBAでのエラー
-
【Excel VBA】マクロをボタンに...
-
実行時エラー48発生時のDLL特定...
-
EXCEL VBAマクロ中断でデバッグ...
-
なぜエラーになるのでしょうか...
-
実行時エラー3001「引数が間違...
-
OLEDB.NETで接続できない
-
INSERT INTOステートメント構文...
-
VBAのエラー発生場所をメッセー...
-
VB6+SQL サーバー 2000 で 実行...
-
Outlook.ApplicationをCreateOb...
-
ADODB.Streamを使用してUTF-8を...
-
カーソルオープンでエラー(ORA...
-
Invalid procedure call or arg...
おすすめ情報