Originally posted by: Mark Henri
Make sure you have the a recent version of MDAC on your system. Version 2.6 is a good choice but 2.7 may be OK if you read the requirements carefully. Also, load the latest Jet Service Pack, I think it's 3.5 to get all the latest drivers. Out of date drivers have known issues. For that matter, make sure you have all the latest service packs on whatever system you are using. My W2000 office has been running fairly well and I've only recently had to repair a table after more an 6 months.
As far as debugging individual installations, for the most part, you're on your own. If I see something that is obvious I'll speak up.
Commit and Rollback are database dependent and for most of the desktop databases, they aren't available. Even MySQL hasn't implemented them.
Currently, I'm running my Orthodontic software accross a TCP/IP connection using the classes to a MySQL database and it's working very well. So apart from any more memory leaks (see the articles below), things seem stable.
Currently, I'm very impressed with the MySQL database and it's STL-like interface classes. I would recommend moving that direction for future projects because the database is stable and it's cheap. As far as I'm concerned, Access is barely adequate for multi user installations.
Thank you to everyone for the continuing support.
Mark Henri
ReplyOriginally posted by: Bill
I tried using this code but with "autocommit" set to FALSE. Because I wanted to use Rollback() and COMMIT(); but for some reason I couldn't make it work.
Has someone already used commit() and Rollback() funtions itn the CSQLDatabase class? I fyou can give me an example of how to use it I would really appreciate it
thanks,
Hi,
Originally posted by: Kapil K Tundwal
First of all, thanks for a wonderfull job done. I didnt knew about SQL at all, but your classes were friendly and got me up to speed in 2 hours.
I have some kind of script that has this application sitting at the back and does all the automation. I am facing a problem when I hit the database too quickly. Error returned is this :
[Microsoft][ODBC Microsoft Access Driver] Too many client tasks.
This error is thrown by SQLConnect() in CSQLDatabase class when I am opening up a connection.
I am running Access2000 on WinNT. I have set up the database as a "User DSN" via Control Panel -> Data Sources ODBC. Following are the driver details :
Name : Microsoft Access Driver
Version : 4.00.4403.02
File : ODBCJT32.dll
Date : 10/25/98
I just want to know if there is any workaround known for this problem. I will appreciate any help in this regard.
Thanks,
-Kapil K Tundwal
Originally posted by: raj
I want to use the source code for reading an excel sheet.
I have dumped the access data givne in th sample to an Excel sheet. Named the sheet by doing Insert->Names with 'provider'
The same demo project code is used to read the excel sheet after creating the dsn using odbc.
The reading part of the code is executed nicely. But the insert and upadate part giving problems.
Any clue to resolve this please..
Originally posted by: Will Mainwaring
When using CSQLInsert, sometimes ExecuteSQL causes a CSQLException. The exception object e->m_strError reads:
[Microsoft][ODBC SQL Server Driver] Connection is busy with results for another hstm.
But that is not the problem.
When my app terminates, I get the following memory leaks in the output window:
Detected memory leaks!
Dumping objects ->
{20773} normal block at 0x025ABCA0, 33 bytes long.
Data: < HY000 > 00 48 59 30 30 30 00 CD CD CD CD CD CD CD CD CD
{20772} normal block at 0x025ABCF0, 97 bytes long.
Data: < [Microsoft][ODB> 00 5B 4D 69 63 72 6F 73 6F 66 74 5D 5B 4F 44 42
{20771} normal block at 0x025ABD80, 52 bytes long.
Data: < Z T > 00 00 CD CD CC CD CD CD F1 BC 5A 02 54 00 00 00
{20457} normal block at 0x025AAE60, 33 bytes long.
Data: < HY000 > 00 48 59 30 30 30 00 CD CD CD CD CD CD CD CD CD
{20456} normal block at 0x025AAEB0, 97 bytes long.
Data: < [Microsoft][ODB> 00 5B 4D 69 63 72 6F 73 6F 66 74 5D 5B 4F 44 42
{20455} normal block at 0x025AAF40, 52 bytes long.
Data: < Z T > 00 00 CD CD CC CD CD CD B1 AE 5A 02 54 00 00 00
{20141} normal block at 0x025AAD80, 33 bytes long.
Data: < HY000 > 00 48 59 30 30 30 00 CD CD CD CD CD CD CD CD CD
{20140} normal block at 0x025AABA0, 97 bytes long.
Data: < [Microsoft][ODB> 00 5B 4D 69 63 72 6F 73 6F 66 74 5D 5B 4F 44 42
Object dump complete.
The thread 0xB2 has exited with code 0 (0x0).
Is this because of something I have (or have not) done?
Thanks in advance for any help you can give me,
Regards,
Will.
Reply
Originally posted by: Mark Henri
You can get the newest version at --
http://home.attbi.com/~markhenri/software/classlib/classlib.html
I don't guarantee anything so use it at your own risk. However, it has the fixes from the www.codeguru.com posts and other things that I've changed periodically.
Notes--
I've gone to using STL religiously now and all the functions returning text are of type std::string. This means that if you're assigning them to CStrings and the like you'll have to end all function calls with .c_str() to convert them to char*. This may cause some conversion issues for some but after working with it, I've concluded that it's the most consistant way. Besides, you should be using std::string for all your text storage anyway.
Caveat Emptor
ReplyOriginally posted by: Alfredo Camba Fontevedra
Somebody knows how can I use the Outer Join in a "where" clause with this libraries?
Or the Union? Thank you.
Originally posted by: Gabriella
Problem:
Part with CSQLUpdate ..... not works!!!
The records were not updated. What schould i do?
Originally posted by: Kirya
Check out http://www.codeguru.com/mfc/comments/32570.shtml - i think it's worth to update the sources!
ReplyOriginally posted by: Alfredo Camba Fontevedra
I think that the problem is mine but neverless I ask you about "bool CSQLRecordset::SQLAllocStmt()" to explain me the meaning of this function. I have a problem with _rc (-1) in line 71:
_rc = ::SQLAllocStmt( _hdbc, &_hstmt );
Thank you.
Reply