AnyDAC FAQs
From RemObjects Software
This is the AnyDAC FAQs reference page
Feel free to add your links to other appropriate new or existing topics below.
Contents |
General
My application runs out of memory when I try to fetch a million records. What can I do?
This largely depends on why you are fetching so many records.
If it is to display them to your end user, then we recommend that you reconsider your approach. The user will never look at all the records and would likely find your application too slow if you did add additional memory. A better alternative is to reduce the number of records fetched by supplying the user with filter option(s), such as month, department etc.
If, however, you are executing a procedure or producing a report, for example, use should set TADQuery.FetchOptions.Unidirectional to True. This will reduce the AnyDAC cache size to a single page of records. There are two other measures you should take to increase efficiency:
- set TADQuery.FetchOptions.RowsetSize to 1000.
- wrap your logic inside DisableControls/EnableControls.
My application fails to establish connection to the DBMS with a message that c:\libmysql410.dll (or any other "strange" DBMS client DLL name) is not found. What is wrong and what is this libmysql410.dll ?
This happens if you are using an incorrectly configured base or virtual driver. To resolve the issue:
- first check the Driver Configuration (AnyDAC) topic;
- if you are using a driver configuration file, then adjust the driver parameters in it;
- if not - then just delete the file and specify the base driver ID for the connection definition;
- if the problem persists, then search for an incorrectly configured TADPhysXXXXXDriverLink component in your application.
MS Access
What does "[AnyDAC][Phys][ODBC][Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified" mean ?
The MS Access ODBC driver has not been installed.
MS SQL Server
What does "[AnyDAC][Phys][ODBC][Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified" mean ?
The MSSQL ODBC driver has not been properly installed.
How can I control the MS SQL cursor type ?
AnyDAC shields the developer from MS SQL cursor types and provides unified cursor control across all supported DBMS's. By setting FetchOptions.Mode to fmAll or fmExactRecsMax, AnyDAC will use the MS SQL Server default cursor. Otherwise it will use a server forward read-only cursor. You might consider enabling MARS.
Oracle Server
What does "[AnyDAC][Phys][Ora]-1309. OCI is not properly installed on this machine (NOE1/INIT)" mean ?
The- Oracle client software is not properly installed or is not installed at all.
Are Oracle Object extentions supported ?
No, sorry. As a workaround you can build PL/SQL wrapping procedures and functions. Using this approach, you can then work with Oracle AQ.
Are multi-byte character sets supported ?
Yes. We recommend that you use Oracle v9 or higher to work with Unicode data.
Interbase / Firebird Server
What does "[AnyDAC][Phys][IB]-314. Cannot load vendor library [gds32.dll]. The specified module could not be found." mean ?
The GDS32.DLL (or FBCLIENT.DLL or FBEMBED.DLL) client library is not in PATH or EXE folder.
What does "Assertion failure (u:\da-soft\anydac\source\uADPhysIBWrapper.pas, line 2052)" mean ?
Probably you are connecting using FBCLIENT.DLL to the Interbase server.
What does "[AnyDAC][Phys][IB]connection rejected by remote interface" mean ?
Probably you are connecting using GDS32.DLL to the Firebird server.
Should I use TADTransaction ?
AnyDAC internally will internally create one TADTransaction for TADConnection and setup it using TADConnection.TxOptions values. So, you does not need always explicitly use TADTransaction, although consider TADTransaction usage for fine tune of Interbase / Firebird transactions.
What does "no permission for read/select access to TABLE xxxx" with FB Embedded mean ?
Although the security database is not used by the Embedded server, it still uses the user name to check rights. So, if the user name is not specified or is specified incorrectly then you can get this error.
MySQL Server
What does "[AnyDAC][Phys][IB]-314. Cannot load vendor library [libmysql.dll]. The specified module could not be found." mean ?
The LIBMYSQL.DLL client library is not in PATH or EXE folder.
Application hangs on for few second at exiting. I am using only MySQL connection.
If your application creates threads, than this issue (AD-58) is possible with libmysql.dll v 5.x. Please, read http://bugs.mysql.com/bug.php?id=37226 for details. As workaround try to terminate all threads before quiting from application.
Glossary — Features — How To — Components — Tools — Samples — Articles — Architecture — Issues
Categories: Index | AnyDAC | FAQ
