- New : Delphi 12 support.
- Fixed : Sporadic Access Violation when destroying TRemoteDBDatabase component. Ticket #19922.
- New : TXDataset.AutoFillDetailFields property.
- Fixed : Detail dataset not being updated after master dataset was closed and reopened (regression).
- 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 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)
- 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)
- New : Delphi 11 support.
- New : Linux support (Indy-based server only). You can now use RemoteDB server on Linux, using Indy-based servers.
- Improved : Performance increase when executing SQL statements with a big number of parameteres.
- 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.
Single Developer License Small Team License Site License
TMS BIZ Essential
€ 120 yearly renewal 1
license for 1 developer
TMS BIZ Standard
€ 150 yearly renewal 1
license for 1 developer
TMS BIZ Premium
€ 180 yearly renewal 1
license for 1 developer
€ 575 yearly renewal 1
license for 1 developer
All prices excl. VAT. 1 Renewal price is subject to change. Renewal price is valid up to 30 days after license has expired. After renewal period a discount price is offered to renew the license.
What our customers say
I was able to successfully replace Asta with remotedb and it's absolutely awesome!!!! I've been trying to replace for 8 years. Loving the product - performance is fantastic!
As a developer for 30+ years, and a Delphi developer since 1996, I've a solid foundation on desktop development. But I was skeptical of indulging in web development. Though the market was demanding a switch, it seemed too difficult to make the transition. TMS Software was my "magic bullet" to get me started with zero intimidation. Love their Web Core and XData products. Now I can develop powerful web applications using Delphi. TMS Software has renewed my love for Delphi and won my heart for their innovators. Thanks to the team for great products and a large volume of demos and manuals. You ROCK!
In the past I have purchased other components from other parties. I will say proudly that TMS is the best in support, price and style. Whenever I need a help your team is always there to help me. Keep up the good work
Hi Bruno Just want to drop you a line about how great your presentation was today. We often fail to point out to someone when they do a great job! You did a great job, you gave me a lot of ideas, and you answered my question very well. THANK you for your great products & super support.
Thank you for developing components where I can best describe it like this: TMS components is a case where "The wheels fit the car, and NOT the car fit the wheels". Well done.