I've made a program that fetches data from an ODBC data source. Everything works fine when the table contains only a few rows. The problem is that when there are many rows (6000, in this case), the program terminates with the following OdbcException
"ERROR [26000] [ATI][OpenRDA ODBC]Error initializing the cache for disk storage
The SQL statement is simple
"SELECT * FROM Items;
If the SQL statement is reduced to this
"SELECT ItemID,ItemNumber,QuantityOnHand,ValueOnHand FROM Items;
then it works, fetching all 6000 rows. But, this is not useful to me in this form. I could hack my way through, fetching 4 columns at a time, and patching them together at the end, but that would stink
Does anyone know why this error is occuring? Even better, how can I fix this problem
Thanks
Mike
jakerose - 20 May 2004 21:23 GMT
OK way after the original post but I ran into the same issue wit
MYOB/Access and found a couple workarounds.
First is to put a dummy UNION on the end of the SQL.
SELECT * FROM MYOB_SalesHistory
UNION
SELECT * FROM MYOB_SalesHistory WHERE 1=2
This forces the query to NOT use disk cache but to dump to RA
instead.
The REAL solution is probably you need to create the cache folder. I
the Windows directory there should be a file called openrda.ini. Ther
should be a string with :
CacheOptions=PATH=C:\MYOBODBC\cache;INITIAL_SIZE=10;INCREMENT_SIZE=5;MAX_SIZE=5000;DATABLOCK_SIZE=64
What you want to look for is the path variable. The cache folder di
not exist in C:\MYOBODBC when I looked--I created the cache folder an
the queries now run.
Jake
=?Utf-8?B?TWlrZSBEYXZpc29u?= wrote:
> *I've made a program that fetches data from an ODBC data source.
> Everything works fine when the table contains only a few rows. Th
[quoted text clipped - 18 lines]
> Thanks,
> Mike
-
jakeros