Set of Delphi components that allows you to create high performance, cross-platform, scalable, 3-tier database applications
v2.10 (August 4, 2020)Version history
- Fixed : Events BeforeStatement and AfterStatement were not correctly passing the value of SQL parameters used in the statement.
- Fixed : InvalidFieldSize exception in float fields when using RemoteDB with native SQL Server driver (MSSQL).
- Fixed : Duplicated field name when using native SQL Server driver (MSSQL) and the SQL statement returned ambiguous (same name) fields.
- New : Support for native database-access drivers. You can now use TRemoteDB using the database native drivers available in TMS Aurelius. Up until this version, RemoteDB servers and TGenericDatabase could only be used with dataset-based components like FireDAC, UniDAC, dbExpress, etc.. Now you can use the native Aurelius database drivers available (except for SQLite), which don't require any component at all, and are even faster!
- Improved : Support for batch updates when using TGenericDatabase. Up to this version, only TRemoteDBDatabase was supporting batch updates.
- Improved : Significant performance improvement when defining dataset pararameters (ArraySize property) when using batch updates.
- Fixed : Settings null parameter values when using batch updates was not working.
- New : Support for Delphi 10.4 Sydney.
- Fixed : TXDataset.AutoApply property not working when the key field itself was modified.
- Fixed : Using two parameters with the same name, differentiated just by a number (param1, param2), the same param value were being used for both params.
- Fixed : "Field not found" when using master-detail mechanism (regression from last version).
- New : Batch updates (Array DML) mechanism for improved performance when inserting, updating or deleting several records at the same time. It is used both client-side (to use a single request to send SQL statement and all parameters at once) and server-side (to execute a single SQL statement in the database passing all parameters for all rows.
- New : Integration plugin for Report Builder from Digital Metaphors. More info in this Youtube video.
- New : Support for Android 64-bit platform (Delphi 10.3.3 Rio).
Fixed : Error "Field
is of unknown type" in blob fields when updating records using AutoApply.
- Fixed : Correct handle of fields of type ftOraClob. Now they have the same behavior as ftMemo.
- Fixed : AutoApply was not working when field names had spaces. If you were editing a record and modified a field which name had a space (like "Contact Name") and tried to Post the record using AutoApply, an error would be raised.
- Improved : Optimizations have been implemented, performance has been improved, especially when retrieving big amount of data and/or executing many statements that use many query parameters each.
- Fixed : Previous version had broken compatibility with NexusDB integration, it's now fixed.
- Fixed : A SQL syntax error were being raised when using AutoApply and more than one field were modified by the dataset.
- New : TRemoteDBDatabase.ClientId property allows identifying clients in server.
- New : TMS RemoteDB VCL Server Wizard makes it easy to create a new RemoteDB server application using design-time components.
- New : Server-side events OnDatabaseCreate, OnDatabaseDestroy, BeforeStatement and AfterStatement. Data is provided in IDatabaseInfo and IStatementInfo with full information about the database connections and statements being executed.
- New : Automatic data modification using TXDataset properties: AutoApply and KeyFields. Allow for automatic data modification by executing UPDATE, INSERT and DELETE SQL statements.
- New : Administration API for retrieving server status (database connections including last accessed time, client id, etc.) and dropping database connections.
- Fixed : Basic authentication was being enforced even when UserName and Password properties were empty strings.
- New : TRemoteDBServer component provides design-time support to create server-side RemoteDB server.
- Improved : RemoteDB simple demo updated to use the new TRemoteDBServer component.
- Improved : Increased performance when using TGenericDatabase and executing SQL statements (non-SELECT).
- Fixed : Error when using SQL syntax with double colon, e.g. PostgreSQL type cast - ::varchar(20).
- Fixed : TXDataset was creating invalid parameters in some situations, for example in stored procedures with code like A := B.
- Improved : Exception raised by the client is now ERemoteDBRequestException and includes the status code of the HTTP response.
- New : TRemoteDBDatabase.OnHttpClientCreate event.
- New : TRemoteDBDatabase.BeforeConnect and AfterConnect events.
- Improved : TXDataset.Execute function now returns the number of rows affected by the operation.
- New : TXDataset.ParamByName method.
- New : TRemoteDBDatabase.OnRequestSending property.
- Improved : RemoteDB IDBStatement now implements IDBDatasetStatement
- Fixed : AV when setting TXDataset.Database property to a TGenericDatabase without having is Connection property set.
- New : Option for custom proxy configuration for Windows clients or automatic proxy detection on Windows 8.1 and later
- New : Delphi 10.2 Tokyo Support
- Fixed : Memo parameter values not being sent correctly when using TDatasetProvider
- Fixed : Index out of bounds when using TXDataset as a dataset provider and dbGo (ADO) at RemoteDB server side
- New : Support for IProviderSupport allows using RemoteDB dataset (TXDataset) as a dataset provider - for example, in a setup using TClientDataset + TDatasetProvider + TXDataset
- New : Delphi 10.1 Berlin support
- New : Design-time wizard to create new RemoteDB Server with a few clicks
- Fixed : Error when executing SQL statements with string literals containing quotes or double quotes.
- New : Delphi 10 Seattle support
- Fixed : Setting TRemoteDBDatabase.Connected to true at design-time was causing error at runtime
- New : Support for Delphi XE8
- Fixed : Client sending wrong data in memo fields with empty strings
- Improved : Installer
- New : TGenericDatabase component allows using TXDataset to connect to database servers directly in old client-server style
- New : Support for Advantage Database Server
- Improved : Server database objects lifetime: now objects expire right after timeout period has passed
- Improved : Client transactions now can get longer than timeout of server db objects, RemoteDB keeps server-side objects alive automatically
- Fixed : Wrong initial values when inserting a record using TXDataset in Delphi XE4 and up
- Fixed : Sporadic "CoInitialize not called" error in RemoteDB demo
- Fixed : Server issues when queries caused infinite deadlocks
- Fixed : Error with long-running queries that take longer than timeout of server db objects
- New : Added Delphi XE7 support
- New : TXDataset.Unidirectional property improves memory usage and performance when using dataset in forward-only (unidirectional) mode.
- New : TRemoteDBDatabase.Timeout property allows specifying lifetime of inactive database connections on server side.
- Improved : Server now returns a better error message if a transaction commit/rollback request fails.
- Fixed : Server instability in rare situations when connection/disconnection to database at server side raised errors.
- Fixed : Error when executing data modification SQL statements (Insert, Delete, Update) using Open method instead of Execute, when using SQL-Direct and some other specific components.
for Delphi XE2, XE3, XE4, XE5, XE6, XE7, XE8, 10 Seattle, 10.1 Berlin, 10.2 Tokyo, 10.3 Rio, 10.4 Sydney (Prof/Enterprise/Architect)
View licensing FAQ
- License for commercial use: Single developer license, Small team license, Site license
- Includes full source code
- Free 1 year updates and new releases
- After 1 year, a 70% discount renewal is offered for a one year extension (offer valid for 30 days)
- Free priority support through email and forum