Skip to Main Content

Japanese

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

OCIEnvCreateでGetLastError=998

BoorokuFeb 22 2012 — edited Feb 22 2012
お世話になります。

【環境】
Windows7 Professional SP1 32bit
Oracle11g 11.2.0.1.0

【問題点】
COBOLで作成されたEXEからC言語で作成したdllを経由してDBアクセスしています。
C言語で作成したdllでは、プロセスアタッチ時にOCIEnvCreateしています。
ところが、OCIEnvCreateが失敗してしまいます(GetLastError=998)

これまでは問題なくDB接続できていたのですが、COBOLのEXEから呼び出す
別のDLLを修正したところこのような現象が発生してしまいました。

WinDbgで確認したところ、RtlpWaitOnCriticalSectionで、Access violation
c0000005が発生し、998がSetLastErrorされておりました。

調査ポイントなどご教授いただけますでしょうか。
よろしくお願いいたします。

※Call stackは以下のとおりです。
------------------
00 ntdll!RtlpWaitOnCriticalSection+0xbd
01 ntdll!RtlEnterCriticalSection+0x150
02 WS2_32!WSACleanup+0x15
03 oranl11.dl!snlsmDscToString
04 oranl11!snltmgcs+0x5201
...
06 ntdll!LdrpRunInitializeRoutines+0x26f
07 ntdll!LdrLoadDll+0x92
...
0c OCI!koptdumptds_check+0x1495
0d OCI!OCIEnvCreate+0x14
0e xxxxx!DllMain+0x30
------------------

Edited by: Booroku on 2012/02/22 18:53
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Mar 21 2012
Added on Feb 22 2012
3 comments
559 views