DaniWeb IT Discussion Community

DaniWeb IT Discussion Community (http://www.daniweb.com/forums/index.php)
-   ASP.NET (http://www.daniweb.com/forums/forum18.html)
-   -   CDBException can't solve problem (http://www.daniweb.com/forums/thread28705.html)

chiwawa10 Jul 21st, 2005 11:42 pm
CDBException can't solve problem
 
Hi all,

I'm facing this problem in my running app. It is a real-time app and writes to the database whenever data is received. However, there is rare occasions that causes the ExecuteSQL to fail. However, the failure did not throw any exception, so my CDBException did not detect anything(it is written in a try/catch).
I suspect that the data fail to insert into the database due to the database is being used heavily. Is CDBException able to catch this kind of error? Is there any way that I can solve this problem?
Or is it other problem(what are the error that CDBException can't handle)?

Thank you...

Paladine Jul 22nd, 2005 12:16 pm
Re: CDBException can't solve problem
 
Not entirely sure, but you could try replacing the CDBException with AfxThrowDBException, which is the Global Error Exception (includes CDBException) and it may give you a more definitive message.

chiwawa10 Jul 25th, 2005 12:11 am
Re: CDBException can't solve problem
 
Dear paladine,

part of my code is like this:

TRY{
ExecuteSQL(...) //query to insert data into database
}

CATCH(CDBException e){
.....
}


*the situation that i face is the CDBException does not capture anything even though the data is not successfully inserted(especially when the database is busy). Do you know what is wrong???

Please advise...

Paladine Jul 25th, 2005 1:07 am
Re: CDBException can't solve problem
 
OK, maybe I missed something. How do you know that ExecuteSQL has failed? By checking the DB? Is there any error message generated?

If the DB is that busy, consider using Transactions so to at least provide debug ability and reduce the chance of data corruption.

I am really curious has to how you know it fails, and the code in and around that statement.

chiwawa10 Jul 25th, 2005 5:49 am
Re: CDBException can't solve problem
 
ohh.. I found out that error occurs by checking the DB. There are some data not inserted into the DB but the program did not throw any CDBException. If it had thrown any exception, the error would have been logged to a file which I explicitly wrote(writing the m_strError to the log file).

Locking the database is not an option because the database must be accessible by another program which is continuously reading data from it.
This is a time critical/real-time program.

Is there any problem that you know of, that the CDBException cannot handle?
thank you...

Paladine Jul 25th, 2005 3:05 pm
Re: CDBException can't solve problem
 
Not that I know of. by why not do this as a transaction, that way it would be an all or none, and it may provide you a better idea of when/why it is failing?

chiwawa10 Jul 25th, 2005 10:34 pm
Re: CDBException can't solve problem
 
ok... how can I implement transaction in my code?
I know there is a function called BeginTrans() but since I'm using ExecuteSQL(), is it relevant?
any example would be nice, thank you!


All times are GMT -4. The time now is 1:24 pm.

Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2009 DaniWeb® LLC