Dear Sir or Madam,

DA-SOFT Technologies announces the immediate availability of "AnyDAC for Delphi" Winter 2010 release v

Version Highlights
* Major rework of the help system. A lot of new "Developer Guide" articles.
* Multiple additions and changes to the Service components.
* Multiple optimizations of the SQLite, PostgreSQL, Firebird drivers and the general dataset code.
* Improved SQL Server, PostgreSQL and Informix support.
* Added mkCatalogs and mkSchemas metacommands.
* Added EhLib support.

And more.

AnyDAC for Delphi

AnyDAC is an unique set of Universal Data Access Components for developing applications on Delphi, C++Builder and Free Pascal. With its powerful common architecture AnyDAC enables native high-speed direct access to Firebird, SQLite, Oracle, MySQL, MS SQL Server, PostgreSQL, IBM DB2, SQL Anywhere, MS Access, Informix and more. For complete list of features and availability, please check:

* AnyDAC home
* AnyDAC shop
* AnyDAC trial

AnyDAC Core Features
* Native access to Oracle, Firebird, MySQL, MS SQL Server, PostgreSQL, SQLite, DB2, InterBase and more. Including latest DBMS versions.
* Optimized for best possible performance (2 times faster than dbGo, 25% faster than dbExpress).
* Generic access to any database supported through dbExpress and ODBC data sources.
* Reach API, including 50 Delphi VCL components.
* Unified API for access to cross-database features.
* First-class support for many database-specific features, including DBMS services like backup, validate.
* Unique ADO.NET-like data engine for Win32.
* Advanced Data Access Options.
* Full support for international applications, including full Unicode support in Delphi 2009 and later.
* Cross-platform support though Free Pascal (FPC).
* Perfect integration as back-end driver for TMS AdvGrid, RemObjects Data Abstract, Fast Report, C4D kbmMW and more.

AnyDAC Natively Supported Databases
* Enterprise - Oracle, MS SQL Server, IBM DB2.
* Workgroup - Firebird, MySQL, PostgreSQL, SQL Anywhere, Interbase, Advatage DS.
* Database in clouds - Microsoft SQL Azure.
* Desktop - SQLite, MS Access, BlackFish SQL, MS SQL CE.
* Embedded - SQLite, Firebird Embedded, MySQL Embedded.
* Bridges - DbExpress, ODBC.

To subscribe to the newsletter with the AnyDAC release notifications and other DA-SOFT Technologies product and company news, you can create an account at DA-SOFT web site, then go to your user profile and set "Subscribe to newsletters" to "Yes".

AnyDAC v 4.0.5 Change Log
v (24.11.10)

+ added: SQLite: TADSQLiteValidate component
+ added: SQLite: SharedCache connection definition parameter
+ added: ADTable: Open(ATableName) method
+ added: Phys: MetaCurSchema / MetaCurCatalog = '*' avoids implicit inclusion of schema / catalog names into full object name
+ added: mkCatalogs, mkSchemas meta data kinds and GetCatalogNames, GetSchemaNames methods
+ added: base x64 support
+ added: AddOn: EhLib support
/ updated: Help: major cleanup and multiple extensions
/ updated: ADDataSet: major optimization
/ changed: DatS: optimized view building code
/ changed: IB: optimized driver code
/ changed: DatS: improved fetch performance
/ changed: PgSQL: improved fetch performance
/ changed: AddOn: updated SQL Ini File
/ changed: DBX: added AnyDAC_DBX define to control AnyDAC linking to dbExpress
/ changed: multiple extensions and changes to AnyDAC service components
/ changed: SQLite: optimized build defines
/ changed: ADManager: the GetDriverNames method now has AValidate, allowing to check is the DBMS CLI installed and it may be loaded
- fixed: SQLite: few multi-threading issues in encryption code
- fixed: SQLite: does not use TFormatOptions.StrsTrim and StrsEmpty2Null
- fixed: SQLite: "Cannot rollback transaction - SQL statements in progress" on Rollback with active result sets
- fixed: SQLite: CheckEncryption fails to validate DB. Also, improved reporting.
- fixed: SQLite: TADSQLiteSecurity.RemovePassword was not working
- fixed: MSSQL: "The data types varbinary(max) and image are incompatible in the equal to operator"
- fixed: MSSQL / ASA: "No column was specified for column 1 of 'A'." on a query with RecsMax specified
- fixed: MSSQL: "invalid object name" on SELECT FROM ::fn_xxxx()
- fixed: MSSQL: MARS is always enabled for a connection and cannot be disabled
- fixed: PgSQL: returns incorrect value for TIMESTAMPTZ columns
- fixed: PgSQL: escape functions CURDATE, CURTIME, NOW does not work
- fixed: PgSQL: AV when fetching UTF8 string with mapping WideString -> AnsiString
- fixed: PgSQL: fails to edit query with ONLY keyword
- fixed: IB/FB: fails to use quoted identifiers
- fixed: FB/IB/MySQL: possible AV at application exiting, when using embedded engines
- fixed: Oracle: fails to execute AnyDAC QA scripts
- fixed: Oracle: a failed execution in autocommit mode leads to an active transaction
- fixed: DB2: fails to fetch meta data after SET SCHEMA=xxx command
- fixed: ASA: fails to execute stored proc with inout params in a loop
- fixed: ADS: memory corruption at metadata retrieval
- fixed: MSAccess: does not support ` and " as object name quote chars
- fixed: Informix: exception is not raised on posting update using invalid SQL in TADUpdateSQL
- fixed: ODBC: improved compatibility with old drivers
- fixed: ODBC: does not recognise ADS DSN as mkADS
- fixed: ODBC: fails to execute PostgreSQL parameterized query
- fixed: Stan: AV is possible on application exiting
- fixed: Phys: Memo -> String mapping is completely broken
- fixed: Phys: transaction properties are not updated after reconnection
- fixed: Phys: MetaDefXxx and MetaCurXxx are not visible in connection editor
- fixed: Phys: issues with executing COMMIT / ROLLBACK commands directly
- fixed: Tracing: impossible to set TADMoniXxxClientLink.Tracing to True at design-time
- fixed: ADDataSet: SaveToStream does not store field captions
- fixed: ADDataSet: Refresh on indexed detail dataset empties dataset
- fixed: ADDataSet: BeforeGetRecords / AfterGetRecords does not fire for async queries
- fixed: ADDataSet: AV is possible on ADConnection destroying
- fixed: ADDataSet: refresh on detail dataset does not work if master dataset is in editing / inserting state
- fixed: ADDataSet: after deletion of last fetched record the query position may change to next+1 record
- fixed: ADDataSet: AV at assigning empty string to TGuidField
- fixed: ADDataSet: setting UpdateOptions.CheckRequired to False after Open and before Append has no effect
- fixed: DApt: fails to edit dataset with quoted field names
- fixed: Query Editor may hang up at design-time
- fixed: DatS: BeginBatch / EndBatch fails with unidirectional query
- fixed: GUIx: connection editor fails to store database path
- fixed: GUIx: few ADUpdateSQL editor issues
- fixed: GUIx: wrong help link
- fixed: ADConnection: possible AV at application exiting
- fixed: AnyDAC fails to install on Delphi XE Professional
- fixed: memory leak is possible on application exiting
- fixed: Demo: TADEventAlerter demo was broken
- fixed: D5: major incompatibility

With best regards,
DA-SOFT Technologies Team