What's New
Version 2.17 (Nov-2023)
- New: Delphi 12 Support.
Version 2.16 (Jan-2023)
- Fixed: Sporadic Access Violation when destroying TRemoteDBDatabase component. Ticket #19922.
Version 2.15 (Dec-2022)
New: TXDataset.AutoFillDetailFields property.
Fixed: Detail dataset not being updated after master dataset was closed and reopened (regression).
Version 2.14 (Sep-2022)
Improved: Design-time components were greyed out in component palette if current platform was different than Win32.
Fixed: Field Not Found error with master detail link when changing SQL. (ref: https://support.tmssoftware.com/t/field-not-found-error-with-master-detail-link-when-changing-sql/19183)
Fixed: Access Violation when closing form with TXDataset in dsInsert (ref: https://support.tmssoftware.com/t/access-violation-when-closing-form-with-txdataset-in-dsinsert/19234)
Fixed: Access Violation when using Master-Detail field alias with double quotes as parameter (ref: https://support.tmssoftware.com/t/access-violation-when-using-master-detail-field-alias-with-double-quotes-as-parameter/19236)
Version 2.13 (Sep-2021)
- New: Delphi 11 support.
Version 2.12 (Mar-2021)
- New: Linux support (Indy-based server only). You can now use RemoteDB server on Linux, using Indy-based servers.
Version 2.11 (Sep-2020)
- Improved: Performance increase when executing SQL statements with a big number of parameteres.
Version 2.10 (Aug-2020)
- Fixed: Events BeforeStatement and AfterStatement were not correctly passing the value of SQL parameters used in the statement.
Version 2.9 (Jun-2020)
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.
Version 2.8 (Jun-2020)
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.
Version 2.7 (May-2020)
New: Support for Delphi 10.4 Sydney.
Fixed: TXDataset.AutoApply property not working when the key field itself was modified.
Version 2.6 (Apr-2020)
Fixed: "Field not found" when using master-detail mechanism (regression from last version).
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.
Version 2.5 (Apr-2020)
- 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.
Version 2.4 (Mar-2020)
- New: Integration plugin for Report Builder from Digital Metaphors. More info in this Youtube video.
Version 2.3 (Nov-2019)
- New: Support for Android 64-bit platform (Delphi 10.3.3 Rio).
Version 2.2 (Oct-2019)
Fixed: Error "Field <fieldname> is of unknown type" in blob fields when updating records using AutoApply.
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.
Fixed: Correct handle of fields of type ftOraClob. Now they have the same behavior as ftMemo.
Version 2.1 (Sep-2019)
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: A SQL syntax error were being raised when using AutoApply and more than one field were modified by the dataset.
Fixed: Previous version had broken compatibility with NexusDB integration, it's now fixed.
Version 2.0 (Jul-2019)
New: Administration API for retrieving server status (database connections including last accessed time, client id, etc.) and dropping database connections.
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: macOS 64 support in Delphi Rio 10.3.2.
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.
Version 1.15 (Jun-2019)
- Fixed: Basic authentication was being enforced even when UserName and Password properties were empty strings. (1.15.1 fixed a regression on this).
Version 1.14 (May-2019)
New: TRemoteDBServer component provides design-time support to create server-side RemoteDB server.
Improved: RemoteDB simple demo updated to use the new TRemoteDBServer component.
Version 1.13 (Jan-2019)
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).
Version 1.12 (Dec-2018)
- Fixed: TXDataset was creating invalid parameters in some situations, for example in stored procedures with code like A := B.
Version 1.11 (May-2018)
- Improved: Exception raised by the client is now ERemoteDBRequestException and includes the status code of the HTTP response.
Version 1.10 (Feb-2018)
New: TRemoteDBDatabase.OnHttpClientCreate event. This allows more customization of the underlying THttpClient object used to perform HTTP requests to RemoteDB server.
New: TRemoteDBDatabase.BeforeConnect and AfterConnect events.
Improved: TXDataset.Execute function now returns the number of rows affected by the operation.
Version 1.9.1 (Oct-2017)
- New: TXDataset.ParamByName method. Just an alias for TXDataset.Params.ParamByName.
Version 1.9 (Jul-2017)
- New: TRemoteDBDatabase.OnRequestSending property. You can now use this event (equivalent to Sparkle's OnSendingRequest) to customize the HTTP request sent to the RemoteDB server (to send custom HTTP headers, for example).
Previous Versions
Version 1.8 (May-2017)
Improved: RemoteDB IDBStatement now implements IDBDatasetStatement
Fixed: AV when setting TXDataset.Database property to a TGenericDatabase without having is Connection property set.
Version 1.7 (Mar-2017)
New: Delphi 10.2 Tokyo Support
Fixed: Detail dataset in master-detail set was being closed/open upon editing master record.
Version 1.6 (Sep-2016)
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.
Version 1.5 (Aug-2016)
- New: Support for IProviderSupport allows using RemoteDB dataset (TXDataset) as a dataset provider - for example, in a setup using TClientDataset + TDatasetProvider + TXDataset.
Version 1.4 (May-2016)
- New: Delphi 10.1 Berlin support.
Version 1.3 (Feb-2016)
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.
Version 1.2.4 (Sep-2015)
- New: Delphi 10 Seattle support.
Version 1.2.3 (Aug-2015)
- Fixed: Setting TRemoteDBDatabase.Connected to true at design-time was causing error at runtime.
Version 1.2.2 (Apr-2015)
- New: Delphi XE8 support.
Version 1.2.1 (Mar-2015)
- Fixed: Client sending wrong data in memo fields with empty strings.
Version 1.2 (Oct-2014)
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 (in previous versions it took longer).
Improved: Client transactions now can get longer than timeout of server db objects, RemoteDB keeps server-side objects alive automatically.
Fixed: Error with long-running queries that take longer than timeout of server db objects. Now RemoteDB ensures queries will execute not matter how long they take.
Fixed: Server issues when queries caused infinite deadlocks.
Fixed: Sporadic "CoInitialize not called" error in RemoteDB demo.
Fixed: Wrong initial values when inserting a record using TXDataset in Delphi XE4 and up.
Version 1.1.1 (Sep-2014)
- New: Delphi XE7 support.
Version 1.1 (Aug-2014)
New: TRemoteDBDatabase.Timeout property allows specifying lifetime of inactive database connections on server side.
New: TXDataset.Unidirectional property improves memory usage and performance when using dataset in forward-only (unidirectional) mode.
Improved: Server now returns a better error message if a transaction commit/rollback request fails.
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.
Fixed: Server instability in rare situations when connection/disconnection to database at server side raised errors.
Version 1.0 (Apr-2014)
- First public release.