I've got some ODBC Queries logging into an Oracle database and running a query, checking the value of the query and then alerting if there is a problem. It has been running for quite some time without any problems. This weekend all the ODBC queries hung and did not send out a fail alert but was stuck checking. I received the following error in the log file.
Access violation at address 77F6CE4C in module 'ntdll.dll' Write of address 00000010.
I had to kill the Hostmonitor process and restart it, then the error went away. I did not restart the server at all. I am running hostmonitor 3.18 on NT SP 5 or 6.
Any ideas would be appreciated.
Thanks
ODBC Query Hangs
Just spent several hours on oracle.com and newsgroups try to find information about this version of ODBC driver just wasted time, too much needless information.
Of course I also have checked HostMonitor's code, it looks correctly. It uses only standard Miscrosoft ODBC 3.0 functions.
I found many different ODBC drivers from Oracle at http://technet.oracle.com/software/tech ... ntent.html but did not find some list of corrections for each version. Probably this problem already fixed..?
Regards
Alex
Of course I also have checked HostMonitor's code, it looks correctly. It uses only standard Miscrosoft ODBC 3.0 functions.
I found many different ODBC drivers from Oracle at http://technet.oracle.com/software/tech ... ntent.html but did not find some list of corrections for each version. Probably this problem already fixed..?
Regards
Alex
Alex,
I upgraded the ODBC driver to be in sync with the database (Oracle 8.1.5). I also upgraded to Hostmonitor 3.3.
I still periodically get errors when Hostmonitor is running an ODBC query.
I got the following from the ODBC log file. Not sure if this might help tell me what is happening.
Log Entry in sql.log (ODBC Log file)
hostmon b64:be9 EXIT SQLFetchScroll with return code -1 (SQL_ERROR)
SQLHSTMT 0x0cd95858
SQLSMALLINT 5 <SQL_FETCH_ABSOLUTE>
SQLINTEGER 1
DIAG [HYC00] [Oracle][ODBC]Optional feature not implemented. (0)
Log entry in Hostmonitor log.htm.
Error: [Oracle][ODBC][Ora]ORA-12154: TNS:could not resolve service name
[Microsoft][ODBC Driver Manager] Driver's SQLSetConnectAttr failed
I upgraded the ODBC driver to be in sync with the database (Oracle 8.1.5). I also upgraded to Hostmonitor 3.3.
I still periodically get errors when Hostmonitor is running an ODBC query.
I got the following from the ODBC log file. Not sure if this might help tell me what is happening.
Log Entry in sql.log (ODBC Log file)
hostmon b64:be9 EXIT SQLFetchScroll with return code -1 (SQL_ERROR)
SQLHSTMT 0x0cd95858
SQLSMALLINT 5 <SQL_FETCH_ABSOLUTE>
SQLINTEGER 1
DIAG [HYC00] [Oracle][ODBC]Optional feature not implemented. (0)
Log entry in Hostmonitor log.htm.
Error: [Oracle][ODBC][Ora]ORA-12154: TNS:could not resolve service name
[Microsoft][ODBC Driver Manager] Driver's SQLSetConnectAttr failed
H'm, SQL_FETCH_ABSOLUTE. Yes, some ODBC drivers does not support this option. HostMonitor tries to use this parameter. If driver returns error, HostMonitor use cycle with SQL_FETCH_NEXT option. Theoretically some bug in error handler (I mean ODBC driver) can be reason to failure after many calls.
Probably some option like "Do not use SQL_FETCH_ABSOLUTE" can help. I think tomorrow it will be implemented...
Regards
Alex
Probably some option like "Do not use SQL_FETCH_ABSOLUTE" can help. I think tomorrow it will be implemented...
Regards
Alex
Done. There is update http://www.ks-soft.net/download/hm333.zip
Just close HostMonitor, extract exe module into HostMonitor's directory, add parameter "DoNotUse_SqlFetchAbsolute=1" into Misc section of hostmon.ini file, and start HM again. Hope it will help.
Regards
Alex
Just close HostMonitor, extract exe module into HostMonitor's directory, add parameter "DoNotUse_SqlFetchAbsolute=1" into Misc section of hostmon.ini file, and start HM again. Hope it will help.
Regards
Alex