oracle occi / instantclinet vc6 oracle 9i getString 錯誤解決
環境:oracle 9i occi / instantclient 10.1.0.5 vc 6
在取資料時,getString(1)正常.但getSting (2)即.取第二個string時,就會報錯.
解決方法,參照metalink 文件ID 198902.1]
具體內容如下:
[@more@]OCCI Results in an Assertion Error _CrtlsValidHeapPointer(pUserData) [ID 198902.1]
--------------------------------------------------------------------------------
Modified 29-JAN-2003 Type PROBLEM Status PUBLISHED
Problem Description
-------------------
OCCI applications may compile fine but produce one of the following errors
during run-time.
"Debug Assertion Failed"
File: dbgheap.c
Line: 1044
Expression: _CrtlsValidHeapPointer(pUserData)
Pressing Ignore on the message box results in the following error:
File: dbgheap.c
Line: 1050
Expression: _BLOCK_TYPE_IS_VALID(pHead0>nBlockUse)
Although the line number(s) may vary the key is to focus on the error which
is occuring within the dbgheap.c file.
It has yet to be determined all the scenarios which will cause this error, but
it has reproduced when executing the getString of a Resultset object as well
as the getVector command.
Note, that the same code will usually work fine on non Window platforms.
Solution Description
--------------------
Compiling with the make file instead of the MSVC gui should work, but if
attempting to compile with the gui, you will need to ensure the following
variables are define within the project:
- WIN32COMMON
- _DLL
- _MT
Actually using the compiler option /MD will define the _DLL and _MT macros.
So, you have the option of setting the compiler option (/MD) or defining the
marcos directly (_DLL, _MT) within the project.
You will need to include the following libraries for linking in addition to
the standard OCI library:
- msvcrt.lib
- msvcprt.lib
- /nodefaultlib:libcd
Explanation
-----------
Apparently the code requires linking with specific run-time libraries. Not including
these entries causes the application to be built using different libraries.
References
----------
Bug:2491694 OCCI PROGRAM GIVES -- DEBUG ASSERTION FAILED
Bug:2630255 OCCI: ASSERTION ERRORS WHEN EXECUTING GETSTRING OF A RESULTSET OBJECT
Bug:2095479 DESTRUCTOR OF THE STRING RETURNED BY METHOD GETSTRING FAILS
Additional Search Words
-----------------------
Crash
CrtlsValidHeapPointer
dbgheap
Related
--------------------------------------------------------------------------------
Products
--------------------------------------------------------------------------------
Oracle Database Products > Oracle Database > Oracle Database > Oracle Server - Enterprise Edition
Oracle Database Products > Oracle Database > Oracle Database > Oracle Server - Personal Edition
Oracle Database Products > Oracle Database > Oracle Database > Oracle Server - Standard Edition
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/197458/viewspace-1030450/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle 9i下ORA-01555錯誤的解決方法Oracle
- ORACLE匯入遇到ORACLE錯誤959解決方法Oracle
- oracle occi 連線池Oracle
- 連線oracle錯誤解決辦法Oracle
- 【Oracle】ORA-00054 錯誤解決方法Oracle
- 【oracle 錯誤及解決】ORA-39139Oracle
- oracle 1455 錯誤解決辦法Oracle
- oracle錯誤及解決方式集(轉)Oracle
- Oracle 錯誤總結及問題解決 ORAOracle
- 【oracle 錯誤及解決】ORA-01659Oracle
- Oracle 資料庫連線錯誤解決方法Oracle資料庫
- linux oracle 建立informix dblink 錯誤解決LinuxOracleORM
- 案例: 解決ORACLE ORA-27211的錯誤Oracle
- oracle ORA-12899錯誤的解決方法Oracle
- ORACLE11G解決ORA-00845錯誤Oracle
- Oracle資料庫配置錯誤資訊解決方法(轉)Oracle資料庫
- [Oracle] ORA-03113錯誤分析與解決Oracle
- oracle之EXP匯出表空間錯誤解決Oracle
- Oracle 常見的錯誤問題及解決方法Oracle
- ORACLE 錯誤Oracle
- 關於 oracle 9i 閃回的一個錯誤補Oracle
- 關於oracle 9i的閃回的一個錯誤Oracle
- 解決EXP-00056: 遇到 ORACLE 錯誤 31600Oracle
- Oracle ORA-27101錯誤及解決辦法Oracle
- Oracle10gR2 ORA-3136 錯誤解決Oracle
- Oracle Job ORA-12005 錯誤的解決Oracle
- ORACLE常見錯誤程式碼的分析與解決(轉)Oracle
- Oracle 錯誤收集Oracle
- ORACLE錯誤大全Oracle
- Oracle的TNS-12502 錯誤原因及解決Oracle
- ORACLE11g DataGuard手工建立錯誤的解決方案(一)Oracle
- ORACLE11g DataGuard手工建立錯誤的解決方案(二)Oracle
- 《學習Oracle從這裡開始》之解決錯誤篇Oracle
- Oracle ORA-01103 錯誤的解決辦法Oracle
- Linux下安裝oracle,遇到錯誤的解決辦法LinuxOracle
- Oracle跨版本匯出EXP-00003錯誤的解決()Oracle
- ORA-01033:ORACLE initialization or shutdown in progress錯誤解決Oracle
- Oracle EBS 打中文補丁錯誤 的一個解決方法Oracle