|
|
|
 |
  |
 |
|
To view a list of database access providers
that have been tested with
DBMoto v5.0 and above, click
here.
Click here
to view release notes for earlier versions of DBMoto.
|
Version
|
Date
|
Data
Replicator/User Interface changes
|
| 7.1.3.5 |
01/30/12 |
Common
- Added support for IBM i (AS/400) journal sequences greater than 10 digits;
- DBMoto now automatically detect when a journal is configured to reset the sequence on a receiver change;
- Introduced a Mirroring Block Size connection property for Microsoft SQL Server and Oracle.
APILibrary
- Added the method ITable.GetPrimaryKeys to the DBMoto APIs. It retrieves the list of primary key fields for a table.
Management Center
- Fixed an issue where an "Invalid character in the given encoding" error could happen while restoring metadata when the field description had non-ASCII characters.
Data Replicator
- Fixed an issue with Float(p,s) data type in MySQL trigger based replications;
- Fixed a problem where an overflow exception was thrown refreshing an Oracle table when a NUMERIC field had a value exceeding 28 digits;
- Fixed an Issue with the Informix Decimal date type that produced a sting truncation error;
- Fixed an error that occurred when working with an AS400 V7R1 or higher with a table having a field named PRIOR.
PRIOR has become a reserved word on these systems;
- Fixed a problem with MySQL bulk-insert where regional settings use commas (',') as decimal separator;
- Fixed an issue where Ritmo/i threw an exception "Index was outside the bounds of the array" while
inserting on CHAR fields marked with CCSID 420 (arabic);
- Fixed an issue where INFORMIX Log Reader replications do not replicate decimal values correctly;
- Fixed an issue where, on a Netezza target, character fields containing the string value 'Null' were replicated as NULL.
Log Reader
- Fixed a problem where a SQL Server publication (and all the articles defined in it) was removed when deleting the
last DBMoto replication that was using the publication;
- Introduced a Microsoft SQL Server connection property to specify options for log-reading queries;
- Fixed a problem where INFORMIX Log Reader replications did not replicate updated NULL values;
- Fixed a problem where the INFORMIX Log Reader Windows Service failed on tables with more than 197 columns.
|
| 7.1.2.5 |
10/31/11 |
Common
- Added "Encrypted User Password And Data" security mechanism for IBM DB2 UDB;
- Added support for Silverlining as target connection.
APILibrary
- Implemented an APILibrary.IMetadata connection object and primary and secondary backup.
Allowed adding and removing an IServer and an IMetadata object through the API;
- Implemented an API to execute the replication verification;
- Fixed a problem where it was not possible to call Enable, Disable or Clear if the
replication had not been saved into the metadata;
- Fixed a problem which occurred when creating a replication through API.
The Start Time was not set;
- Fixed an index out of range problem which occurred when using the API to call a
RefreshCatalog on a table containing foreign keys;
- Added trim for catalog and schema names retrieved when calling a RefreshCatalog
using the API;
- Removed a null reference exception which occurred when using the DefaultMetadata
object if the server was not connected and the metadata list was empty;
- Fixed the Resynch function by making it synchronous and synchronized multiple accesses
to IReplication code from separate threads.
Management Center
- Added a feature to select tables to add to the metadata from an external CSV file;
- In the DBMoto Verifier, improved comparison classes for date time data types;
- Increased the maximum number of messages in the DBMoto log when saved to a database.
The new maximum value is 1,000,000;
- Fixed a problem with creating new metadata. The license for the current metadata object was null;
- Fixed the custom restore replication feature. When the "Keep the original Transaction
Read Point" check box was selected, the new replication did not save the Last Refresh Time
and it would start with a refresh;
- Fixed a problem which occurred after creating a target table. The table could not be retrieved in
the database because it was created with a different case, requiring the intervention of the user.
The new table was added to the metadata but not to the Metadata Explorer treeview;
- Fixed a problem which occurred when removing a table (and subsequent fields and foreign keys.)
The remove process could generate a 'collection modified' error;
- Fixed a problem which occurred when opening a SQLCommand panel with a user having BrowseConnection = false.
If the login was not validated, an error was generated ('Cannot access a disposed object');
- Fixed a "collection was modified" error which occurred when removing tables and/or replications while exiting
out of the Multiple Replications wizard;
- Fixed a null reference exception which occurred when creating a target table using drag & drop, and the drop
node was a schema or catalog node not expanded but already loaded with sub-nodes;
- Fixed a problem with an error "There is already an open Data Reader associated with this
command," generated when creating mirroring replications on SQL Server 2005.
Data Replicator
- Fixed a problem with bulk insert in MySQL. When primary key violations were generated, the Management
Center would show no errors and an incorrect number of processed records.
Log Reader
- Added an ORDER clause option when creating SQLAnywhere triggers to manage multiple triggers per table;
- Added support for IBM DB2 UDB data types GRAPHIC(NChar) and VARGRAPHIC(NVarchar);
- IBM DB2 UDB Log Reader can now read changes from partitioned tables;
- Fixed an issue in mirroring from an IBM DB2 for i source where the last processed transaction
was re-processed again after stopping and restarting the Data Replicator;
- Fixed a problem replicating from an Oracle RAC;
- Updated the program installed on IBM DB2 for i. The search for the last sequence is now performed
on the current receiver rather than the current chain;
- Fixed a problem in the IBM DB2 UDB log reader where the replication removal did not turn off
the data capture on the table;
- Fixed a problem which occurred when replicating to a File connection. The target table truncate
was not recorded in the output file;
- Fixed a problem where the IBM DB2 Log Reader threw an exception when the tableid or tablespaceid
number was negative.
|
| 7.1.1.1 |
07/11/11 |
Common
- Introduced the "Max Commit Interval" property for Netezza target connections
APILibrary
- Added GetReceiversInUse API and SampleDeleteReceivers API sample.;
- Fixed a Null Reference exception in the Data Replicator which occurred after stopping the trace from the Service Monitor.
Management Center
- Fixed a license check error generated when the license file was missing or contained an invalid license. (Error message: Collection cannot be null.);
- Fixed a problem with custom restore replication. When the "Keep the original Transaction Read Point" checkbox was selected, the new
replication didn't save the Last Refresh Time and it would start with a refresh;
- Fixed a problem in the Replication Wizard and Multiple Replication Wizard where the list of groups in the Replication Type step was not
ordered alphabetically;
- Fixed a null reference exception that occurred when switching a replication using and IBM DB2 UDB source from refresh to mirroring;
- Fixed an error that occurred with SQL Server replications when reading the last ID. After checking "Refresh Replication Objects" and
"Maintain Current Sequence," new values such as the Article ID were not saved in the metadata.
- Fixed a problem with the Verifier. It did not work properly when there were multiple primary keys in a different order compared to
their ordinal column order. The ORDER BY statement did not contain all keys in the correct order.
- Introduced LoadUniqueIndexes property to load unique indexes information when primary keys are not defined;
- Fixed a problem for remote distributors. The connection CommandTimeout value was not passed to the distributor commands.
- Fixed a problem that occurred when creating new MySQL, DB2UDB and File connections. The transactional setup was set to the default
log setting instead of the Disabled setting.
- Added a Reset button to the Log Setup dialog for Informix Log Reader to allow the user to reset the log position file to 0 so that the
log reader service restarts reading from the latest/current log position.
- Fixed an issue with the Oracle supplemental log setup. Changed the query to manage single quotes and case sensitivity.
Data Replicator
- Fixed a problem where mirroring to Netezza did not use transactions if the Isolation Level was set to "Unspecified" in the Replication Properties;
- Fixed an error that occurred when writing to the MessageArgs field in the log table using ';' separator instead of '|';
- Fixed a NullReference error that occurred when the DB2 UDB Log Reader encountered tables with a negative table ID.
Informix Log Reader Window Service
- Changed the maximum number of records read to improve read performance;
- Changed log position file by adding a new last valid LSN line to make recovery more accurate.
|
7.1.0.9
|
05/27/11 |
Management Center:
- Fixed a problem in the DBMoto History Viewer that occurred while reading history when
the log type was set to database;
- Fixes a problem in the DBMoto Log Viewer,that occurred while reading the log when the
log type was set to database.
|
| 7.1.0.8 |
05/16/11 |
Common:
- a problem that occurred when creating a trigger-based replication on Informix.
DBMoto gave an error if the source table had triggers already defined on it. Since
Informix now supports multiple triggers per table, the error has been removed for
Informix version 11.1 and up;
- Added support for transaction log-based replication from Informix v.11.5 FC3 and later.
APILibrary:
- Implemented new set of APIs using a .NET framework object model instead of a
procedural approach
- Implemented APIs to read from the DBMoto log and history.
Management Center:
- Added a Replication Activity Viewer to monitor and analyze replication performance.
Available for .NET Framework 3.5, SP1 only;
- Modified most common message boxes to add the
"Do not show this again" checkbox;
- Fixed a problem with SQL Server nvarchar(max) data type. It was shown in
the Object Browser as having precision 0 instead of -1. This produced an error
in the creating target table wizard;
- In the DBMoto Verifier, fixed a cast issue comparing GUID fields;
- In the DBMoto Verifier, fixed a cast issue. When there is an invalid cast
exception comparing two items, the value and data type is displayed;
- In the DBMoto Verifier, provided a way to handle SQL Server cases when Time is
returned as Varchar;
- Fixed an issue in the Custom Restore Wizard in the group selection step.
If a group was selected, an exception was thrown when clicking Next in the wizard;
- Fixed an error in the Replication Wizard that would corrupt the metadata;
- For Netezza targets, the staging table is now removed when dropping the replication;
- Fixed an error in the Metadata Explorer that occurred when the Data Replicator
settings were opened and then saved;
- Fixed a problem in the Global Script when adding a new reference that contained space chars, each space would split the reference into more references, causing compile errors on the Global Script. Fixed by using double quotes.
|
| 7.0.4.10 |
03/01/11 |
Common:
- Replications using Netezza.now handle money and smallmoney datatypes with a numeric datatype.
Data Replicator:
- Solved an issue with many-to-one replications when Netezza is the target.
|
| 7.0.4.9 |
02/09/11 |
Common:
- Introduced queries for each database to get the current database timestamp;
- Fixed a communication problem from client applications (ManagementCenter, APIs) to
the Data Replicator. If the metadata connection was temporarily closed, the TCPIP connection
was unavailable.
Management Center:
- Fixed an issue with the SQL Query tab. When opening a result set, the operation was very
slow due to a refresh function that needed optimization;
- Fixed a problem with catalog queries. In some cases DBMoto would not find a table in a database
even when it was already created;
- Fixed a problem with initial refresh in groups. When adding a replication to a group, if the
only difference was the Initial Refresh status, the error message would say 'replication mode differs';
- Fixed an error in the Metadata Explorer. When listing all replications and selecting Enable/Disable
of a single replication, if the replication was in a group, the other replications in the group would
not change icon as a result of the status change;
- Fixed an issue with the metadata. When the metadata database was stopped, the Management Center was
not able to reestablish a connection to the TCP/IP server;
- Fixed a null reference exception in the Replication Wizard (in the Logging Info step) when Oracle
was used as source;
- Fixed a problem in the Replication Properties dialog. When switching a replication having Oracle as a
source from mirroring to refresh, the dialog would not change replication mode;
- Fixed a problem that occurred when removing a server from the Metadata Explorer and adding a new
server with the same name. A message would be displayed saying that a server with that name already
existed.
Log Reader:
- Fixed an IndexOutOfRange exception mirroring from a MySQL source when an enum column is blank;
- Fixed an ArgumentOutOfRangeException in mirroring mode from a MySQL source with transaction l
og reading that occurred when the date in a datetime value had zero yearFixed an
ArgumentOutOfRangeException in mirroring mode from a MySQL source with transaction log reading that
occurred when the date in a datetime value had zero year.
|
| 7.0.4.8 |
01/24/11 |
Common:
- For Netezza, added support for automatic detection of Primary Keys;
- Added the "Case Sensitive Table Names" option in the MySQL Transactional Support configuration dialog;
- For Oracle, added table-level supplemental log management;
- Added the option "Fire Triggers" in the refresh options of a replication when the target connection
is SQL Server. The option enables and disables triggers when the insert mode is set to bulk insert;
- Introduced a version check when connecting from the Management Center or a client API application
to the Server Agent. If the versions are not compatible, a message is shown and the connection is denied;
- Fixed a problem where a license allowing synchronization between two database of the same type
did not allow mirroring both ways.
API Library:
- Fixed a problem with API traces: for the way traces were initialized, they would not catch
possible errors generated at the beginning of the Initialize API.
Management Center:
- Modified the Verifier so that each verification runs in a separate thread;
- Modified the Verifier so that the "Save Results" feature now saves the data in the grids;
- Modified the Verifier so that the 'Save Results…' button now saves the details, queries
and the differences on the file specified;
- Modified the Verifier to remove the "Open Results" feature;
- Modified the Verifier to add "Verifier Sort Sequence Table" to the dynamic properties for
connections to IBM DB2 for i (System/i, AS/400). The table should contain ordering rules for the
data in the result set and is used by the Verifier to sort character values;
- Modified the Verifier to set the Automatic Verification option to false by default in the config file;
- Removed an incorrect warning message when running a 'Refresh Schema Information' operation on a table;
- Modified the Multiple Replications Wizard "Set Replications" step where tables are selected in the
grid. A "Source Type" column has been added to show the type of table (Table, View…);
- Modified the Change Login operation. When it is called on a loaded server, all SQL Command panels
and Log and History panels are forcefully closed. This is to avoid leaving opened panels on which
the new login may not have permissions;
- Fixed a problem where the DBMoto Verifier did not check the "Run Verification Automatically" setting;
- Fixed a casting problem with TimeSpan data type during the verification;
- Modified the SQL Command feature so that each SQL command runs in a separate thread;
- Modified the LogViewer and HistoryViewer to use a dynamic paging mechanism. The new page is loaded when the
user scrolls up and down the list;
- Fixed a problem that occurred when altering a table associated to a trigger-based replication;
- Fixed a problem that occurred when running the Verifier. Huge tables could cause the first compare to
stop due to an error when the second one was started;
- Fixed a problem with the SQL Command tab regarding error messages in a separate dialog. Error
messages are now all reported in the Results pane;
- In the SQL Command tab, disabled the Run button during execution to avoid multiple clicks on it;
- Introduced new target connection properties: Default Insert Mode, Default Block Size and Default
Isolation Level; every new replication will get the values of its related properties from the target
connection default properties;
- Improved DBMoto Verifier presentation of byte values in the data grid: System.Byte[] data is now written
in hex format;
- Fixed some minor problems on the Data Replicator Settings and the Options dialog. (Numeric fields set to
blank would throw an exception);
- Fixed a NullReferenceException when renaming a server node in the Metadata Explorer;
- Fixed a problem in the Create Target Table wizard that occurred when creating a table on Oracle--a
'NUMBER' type with null precision was not accepted;
- Fixed a problem in the Create Target Table wizard that occurred when creating a table on
Netezza--a 'numeric' type with null precision was not accepted.
Log Reader:
- Implemented the Case Sensitive Table Names option.
Data Replicator:
- Fixed an error processing transactions from an IBM DB2 for i source which was reported in the
log as "Writing to compression stream is not supported";
- Fixed a problem where, in a mirroring replication with an IBM DB2 for i source and a Netezza target,
a Clear operation on the source table generated an error in the log. The message was a general
"Error during mirroring" with no further explanation;
- Fixed a problem where a replication could get disabled when a error occurred while connecting to the
source database, (e.g.,a timeout);
- Fixed an IndexOutOnRangeException which was thrown when comparing records having a binary field. The
exception could happen in synchronization while detecting or resolving a conflict;
- Added support for the IBM DB2 for i CLEAR operation during mirroring. The operation translates into a
truncation of the target table;
- Fixed the error "ORA-01727: numeric precision specifier is out of range (1 to 38)" when replicating
to an Oracle NUMBER field;
- Fixed a problem where an ArgumentException was thrown during a refresh to a Netezza target table when the
target table name contained lower-case or special characters;
- Fixed a problem where sometimes after starting and stopping replications with the Data Replicator
running, a replication could remain blocked in a stopping state;
- Fixed a problem that occurred when calling the Replication_onError event. The replication/group name
parameter was set to null in case of grouped replication;
- Fixed a problem that occurred with PostgreSQL as target. On a "time without timezone" column, a cast
error was generated during replication;
- Fixed a problem with Oracle that occurred when using bulk insert. If errors were generated, the count of correctly inserted records (both in the log and in the monitor) was incorrect.
|
| 7.0.3.3 |
09/28/10 |
Common:
- Fixed an error introduced in version 7 on Oracle 8.1.7 where the catalog query to retrieve the
column list would generate an error;
- Fixed an error that occurred when calculating the current DBMoto log file in case of logging
on multiple files: if more than one file was most recently modified at the same time (seconds are
not saved in the LastWriteTime property of a file), the first in the list was considered the
current log file.
Management Center:
- Fixed an error that occurred when opening the Log Viewer or the History Viewer. Any
subsequent operation on the metadata would throw a closed connection exception;
- Fixed a problem with the User Permissions dialog where some of the permissions were not
saved when closing the dialog;
- Fixed a problem in the Custom Restore wizard where transactional setup on the involved
connections was not checked when creating replications, which could generate a null
reference exception;
- Fixed an exception in the Custom Restore Wizard that occurred when importing Unmapped
Fields and Non Critical fields;
- Fixed a problem that occurred when opening the SQL Query tab with a login. The dialog
would prompt a user name and password. This was not correct when the dialog was opened with
the permission 'BrowseConnection' set to false;
- Fixed a null reference exception that occurred when opening the SQL Query tab and clicking
Cancel in the login dialog;
- Fixed a problem that occurred when editing the Data Replicator Options. The dialog would
save all properties and additionally overwrite options that were manually set in the
dbmoto.server.config file.
Log Reader:
- Fixed an IndexOutOfRangeException error in a group when one or more replications have
non-critical fields set;
- Fixed a problem where replications from IBM i (AS/400) source connections could stop
replicating or lose data if a receiver was changed with the *RESET option;
- Fixed an issue that occurred when reading the IBM i (AS/400) transaction log which wrongly
reported the error message "Missing AFTER image for an UPDATE". It could be followed by a
NullReferenceException.
|
| 7.0.2.9 |
08/23/10 |
Common:
- Added a new 64bit build to handle ODBC direct calls in a Windows 64bit installation;
- Fixed a problem in the IBM DB2 for i (AS/400) DBMoto library when replicating a group of 19 replications. The DBMOTOLIB version has been updated to 7.1.x;
- Fixed a problem reading timestamp values from IBM DB2 for i when the CCSID was 65535. The error was "An exception was thrown during the data conversion function. Cannot find a converter for ccsid 65535".
Management Center:
- Fixed an issue that occurred when using the Refresh Filter editor.
It would run a compile check even if it was editing SQL script and not DBMoto script
;
- Fixed an error that occurred when opening an Execute Command dialog on the metadata connection and running any query, then closing it. Any subsequent operation on that metadata would throw a connection error because the connection to the metadata was closed;
- Fixed an "Index out of bounds" exception that occurred when creating a new group using the wizard, then selecting Group Properties and adding a replication to the group;
- Fixed a null object reference exception in the Metadata Custom Restore wizard. It was caused by replication names containing blanks;
- Fixed an issue with the Trace Replications dialog used to filter replications for the Data Replicator trace. The value of this property was saved but not correctly displayed in the dialog;
- Fixed an issue that occurred when reading the Transaction ID from the Replication Properties dialog. The CommitTID value needed to be cleared out to stop DBMoto from picking up transactions from a previously saved transaction read point;
- Fixed some help context dialogs. Some dialogs would not open the help manual using the F1 button;
- Fixed an index out of bounds exception that occurred when refreshing schema information on a table which was modified using an ALTER TABLE command;
- Fixed an issue in the Metadata Custom Restore Wizard and the Export Replications Wizard where the information about Unmapped fields and Non Critical fields was not restored in the newly imported replications;
- Introduced automatic deletion of a staging table, when the refresh schema information is invoked, for a Netezza table defined in a transactional replication where the table structure has been modified;
- Introduced a new option in the Data Replicator Settings dialog to define the DBMoto temporary files location (by default created in the SyncCache folder);
- Fixed an issue that occurred when changing path to the DBMoto log or trace settings (only possible by manually editing the dbmoto.config and dbmoto.server.config files.) The path was overwritten with the default location when the options dialog was opened and saved;
- Fixed a null reference exception generated in the Custom Restore Wizard when a replication name to be imported contained blanks at the end.
Log Reader:
- Fixed an issue with a missing transaction in the IBM DB2 for i log reader.
Data Replicator:
- Fixed a problem where a Null Reference could occur when starting the Data Replicator;
- Fixed an index out of bounds exception in synchronization mode;
- Fixed an InvalidCastException in synchronization mode.
|
| 7.0.0.18 |
06/21/10 |
Common:
- Fixed a problem in the metadata Custom Restore Wizard. Replications associated with a group were not loaded with the group information if the replication status was disabled;
- Fixed a problem in the metadata Custom Restore Wizard. When restoring a replication with IBM DB2 for i as a source, if the checkbox to keep the current transaction ID was selected, the receiver library and name associated with the replication was not imported;
- Added support for synchronization between more than two tables;
- Introduced conflict priority for groups with multi-table synchronizations;
- Added features to support secure access to DBMoto and user management;
- Introduced live backup connections for metadata, to allow saving metadata on multiple databases simultaneously;
- Added support to start and stop tracing without having to restart the Data Replicator;
- Added a command timeout property to the metadata connection;
- Added support for Microsoft Access 2007;
- Added support for Netezza as target database;
- Added support for DB2 LUW transactional replications using transaction logs;
- Introduced support for the new .NET provider for Unify SQLBase (Unify.SQLBase.Data.dll);
- Added support for GRAPHIC data types on DB2 LUW;
- Added support for Oracle data types binary_float and binary_double;
- Added support for the SQLServer 2008 data type DatetimeOffset;
- Added support for the XML data type for SQL Server 2008 and Oracle version 10 or later;
- Added a custom mapping script function with isNullable and isPrimaryKey parameters;
- Added an option in the XML configuration file for databases that do not allow nullable fields as primary keys, to create target tables according to this setting;
- Upgraded the metadata to encrypt the Connection String related to the log on database option. Previously it was saved unencrypted;
- Changed signature to the events onBeforeMirroring and onAfterMirroring with a new Boolean parameter that indicates the direction of the mirroring in case they are called in synchronization;
- Added a hyperlink on known errors to KB articles for common problems in the Management Center and Log Viewer;
- Added support for using filters for replications and groups in the trace options;
- Changed DBMoto license to include also the maximum number of clients connected;
- Introduced a new AddLog API that uses an enumerated parameter to define Information, Warning or Error (the previous definition is still valid but obsolete). Added a further AddLog API that is able to printout the list of field values of an IRecord parameter;
- Inserted an “Imports System” statement by default in all global and replication scripts to avoid common compile errors;
- Removed a limitation that forced the replications in a group to have same values for the following properties: Refresh recovery, Insert Mode, Block size and Isolation Level;
- The bulk insert for the Microsoft SQL Server OLEDB provider, also known as Fast Load, is no longer supported;
- Fixed a problem where the length of nchar and nvarchar fields for SQL Server and Oracle was shown doubled in the EM Object browser;
- Fixed catalog issues while loading metadata tables (the casing was ignored and in some DBMSs such as MySQL it was causing the application to ignore the existence of metadata tables);
- Fixed an error on Foreign Keys tables when loading old metadata sets;
- Fixed a problem in the metadata to avoid overflow errors when saving the setting MailRcptTo with a list of addresses with size greater than 50;
- Fixed a problem in themetadata to avoid overflow errors when saving the Connection String and Connection Params setting related to the log on database option, when their size was greater than 50;
- Fixed an issue with Oracle 64-bit where in some cases the length of character fields was doubled;
- Fixed an issue with the GetReceiversInUse script API, receivers in use were returned even if defined in Refresh replications;
- Fixed an issue where Oracle floating point data type NUMBER was in some cases wrongly mapped to a NUMERIC(38, 0) when creating target tables.
Management Center:
- Added the DBMoto Verifier tool to compare source and target tables after replication;
- Added a filter in the Select Tables dialog to open only selected catalogs, schemas and tables depending on the filter defined;
- Introduced multi-selection capability in Fields Mapping screens to edit more than one mapping at the same time;
- Added support for creating catalog and schema levels within the Custom Restore wizard, instead of requiring that they are already defined in the metadata;
- Added support for importing group definitions in Custom Restore wizard;
- Allowed the Custom Restore wizard to load replications to the target server without changing the current id (useful when backing up and testing a situation in a different environment);
- Enabled multiple editing to save the same script to multiple replications;
- Added new properties to the script object: connection name, table name, replication name, group name;
- Added a main window progress bar useful when running slow operations. When selecting tables from a database, the progress bar is made visible and an Abort button is shown;
- Added support for changing the table CCSID (IBM DB2) on multiple selections;
- Added a Save Results menu item in the SQL Query tab;
- Improved the readability of group properties in the Property pane by displaying a list of replication properties with aggregated values when a group is selected;
- Introduced an ‘Add to Group’ and ‘Remove from Group’ menu item in the context-sensitive menu for replications;
- Introduced an ‘Enable Group’ menu item in the context-sensitive menu for replications to allow editing of multiple replications with a single click;
- Added a Locate item to the Replication Browser toolbar to allow, from a selected replication, access to its source or target connection, catalog, schema and table;
- Added a checkbox to the Transaction Read Point dialog (accessible via Replication Properties), to refresh the transactional replication objects without reading the new ID. This is useful when transactional objects have been removed and need to be created again, but the replication has to start from the same transaction ID that was set in the metadata;
- Introduced a check to verify if the group insert mode and isolation level are compatible with the target connection of the replication when assigning a replication to a group. If not, the replication will keep its current insert mode and isolation level;
- Moved Data Replicator Options from the Metadata menu to the Server menu, as they pertain logically to the server;
- Modified the Log Viewer to show the current log file in italics to distinguish it from other log files;
- Fixed an issue with running the “Create Multiple Replications Wizard” from Oracle to MySQL. On MySQL if the target tables already existed, the tables on the target database were not found when searched using upper case names;
- Fixed a problem that occurred when switching from refresh mode to synchronization mode in the Replication Properties dialog. The transactional objects needed for the replication were only created in the source to target direction but not in the target to source direction;
- Fixed a problem that occurred when changing the IP address of a source or target connection. If the connection had transactional support enabled, it was possible to leave the metadata in an incorrect state, having connection properties pointing to one server and transactional objects pointing to another server. Added a warning when the data source property is changed and transactional support is enabled;
- Fixed a visualization issue in the Property Window. When a trigger-based replication for SQL Server was selected, the properties list showed publisher and article information instead;
- Fixed an issue that occurred while running a catalog refresh on a catalog that has tables currently replicated. Previously, you would get a warning with an OK button for each one of the tables;
- Fixed an issue with the history status. When a group was refreshing, the History Status became “success” while still refreshing, instead of waiting to the end of the operation;
- Fixed an issue with the history status. A replication in a group that had been stopped dipslayed the history flag as Stopped, but when the group was refreshed again, the replication history status stayed Stopped;
- Fixed the order of items in lists in the Object Browser, Replication Browser and Replication Monitor. When a sorting order is selected, the order is maintained when switching to a different node;
- Fixed an issue in the Replication Monitor. Before starting the refresh, the replications were displayed as 100% completed;
- Fixed a problem that occurred when restoring metadata on a SQLBase database;
- Fixed a replication visualization issue. When two replications with different schedules were put into two different groups and then edited together, the schedule would disappear;
- Fixed an issue in the SQL Query tab. The resultset and command are now closed when the query is over to avoid command timeout errors if the dialog is left open for too long;
- Fixed an issue with the Unmapped columns and the Non-critical columns on the mappings definition of a replication. If the source or target table’s structure was altered, an exception was generated when loading the mapping dialog;
- Fixed a problem that occurred when making changes to a replication within a group (for example, the description.) After pressing OK, you would get thrown out of the group into the replications screen. Now the replication and the group you just configured is displayed;
- Fixed a problem where the DBMoto Management Center would open in maximized mode and didn’t save the form size from when it was last opened;
- Fixed a problem where, in the DBMoto Management Center, the content of the Object Browser, Replication Browser and Replication Monitor did not refresh when a metadata was restored;
- Fixed a problem in the Metadata Explorer. If a replication was put into a group or removed from a group, its icon in the treeview did not change;
- Fixed a problem in Metadata Explorer. When clicking on empty nodes (i.e. “Sources, “Targets”) cross metadatas, the replication content did not get refreshed;
- Fixed an issue that occurred while creating a trigger-based replication on a database that allows only one trigger of the same type on the same table (e.g. Informix.) Now we verify if there is already a trigger defined on the source table and, if there is, report an error;
- Fixed an issue where creating a mirroring or synchronization replication on an Informix source table containing a field with data type decimal(n), decimal, numeric(n) or numeric resulted in an error.
Log Reader:
- Fixed an error in trigger-based replications where the following message occurred:
"A record is missing in the log table";
- Introduced commitment control for IBM DB2 for i as a source. Only committed transactions are replicated to the target;
- Added support for Journals set to minimized entry data as field boundary (MINENTDTA(*FLDBDY));
- Added a warning message in the DBMoto log when an RGZPFM (reorganized physical member) is executed on a System/i source table;
- Included support for the TIMESTAMP alias name of the TIMESTMP data type for IBM DB2 for i;
- Added support for save points in IBM DB2 for i and Oracle;
- Fixed a problem that occurred when mirroring a SQL Server. A Float data type could result in a loss of decimal digits precision;
- Fixed an error that occurred when creating a mirroring/synchronization replication on a table containing auto-incremental fields when a trigger based replication is set;
- Fixed an error that occurred when creating a mirroring/synch replication on an Informix table with one or more datetime fields;
- Fixed a problem where IBM DB2 for i date values with a 2 digits year format were sometimes assigned to the wrong century;
- Fixed an issue with Oracle where we performed restricted verification when checking for SUPPLEMENTAL LOGs enabled. Now we also check if the primary key clause has been included in the supplemental log;
- Fixed an issue with a NullReferenceException that occurred when reading a record from the Oracle Log Reader while an Oracle INTERNAL operation was processed;
- Fixed error ORA-310 that could happen while reading the Oracle transaction log;
- Fixed an issue with a missing transaction timestamp in mirroring and synchronization replication from SQL Server.
Data Replicator:
- Introduced support for the BIT data type on default size (1) in MySQL bulk insert;
- Introduced ‘Insert On Update’ feature to define whether on an update failure DBMoto will run an insert statement;
- Added a message in the DBMoto log when a mirroring/synch resumes after a scheduled refresh;
- Added a Refresh Interval parameter to configure how long to wait before retrying a refresh. If a refresh replication could not start for some critical error (not disabling the replication), refresh was re-tried on each subsequent mirroring interval;
- Modified the error message that is generated when there is an exception while evaluating a mapping expression. The target column name mapped to this expression is now displayed;
- Modified the log message for errors processing INSERT transactions in mirroring. It now shows the transaction ID and transaction timestamp of the failing transaction;
- Fixed a problem where, in some cases, the log message for errors processing transactions in synchronization did not show the replication name;
- Fixed an error in Replication History. It used to update the history even when last date of refresh/mirroring was not changed;
- Fixed an issue where a scheduled recurrent refresh of a group did not truncate the target table;
- Fixed an issue happening when altering (by adding or removing columns) a table used in replication with unmapped fields set;
- Fixed an issue in Ritmo/i that occurred when refreshing a table containing inline BLOBs;
- Fixed a problem where, for a SQL Server target with bulk insert set, NULL values were converted to default values when running refresh;
- Fixed a problem where, for replications configured in bulk insert mode or simulated bulk mode, the Refresh_onAfterRefresh event could be called before the last bulk block was processed;
- Fixed an issue where metadata tables could become locked following a recovery from an error accessing the metadata. This lock prevented the Mangement Center from opening the metadata, resulting in a timeout error;
- Fixed a problem where, in synchronization mode, the replication properties InternaSourceConnection and InternalTargetConnection were not returning the correct connection;
- Fixed an issue where precision was lost with SQLServer float data type;
- The data type float was internally mapped to a Float instead of a Double. Fixed the SQLServer.xml file;
- Fixed a problem replicating from/to a Sybase numeric and decimal with precision greater than 28;
- Fixed a problem where an error was reported reading the Oracle transaction log when the record contained a LONG data type filed;
- LONG was mapped to an internal logvarbinary instead of longvarchar;
- Fixed an issue with the temporary files in the SyncCache folder while running synchronization. The file could not be accessed because was opened by another process.
Service Monitor:
- Added monitoring for the DBMoto Server Agent, with menu items for starting and stopping the agent;
- Added a menu item to launch the Management Center;
- Fixed a problem where, when connected remotely and the Service Monitor was running, on log off the Service Monitor was shut down and it would show the warning ‘The data replicator will keep running even if the Service Monitor is stopped’.
|
| 6.6.1.1 |
07/07/09 |
Common:
- Changed the MySQL type mapping for the DBMoto data type 'timestamp' to the database data type 'datetime' in the MySQL configuration file;
- Fixed an issue with MySQL that occurred while loading tables and columns from the database. Quotes were not used in the query and no records were returned;
- Introduced new read-only variables in the Replication Script to return replication information. They are: GroupName, ReplicationName, SourceConnectionName, TargetConnectionName, SourceTableName, TargetTableName;
- Fixed a problem where an error was generated when replicating a TIME value to a Sybase ASE target;
- Fixed a problem where an error was generated when replicating a TIME value to a Postgres target.
Enterprise Manager:
- Fixed a problem that occurred when creating a replication and at a later time running an ALTER table on the source or target table. The alter table is reflected in the replication (which shows the new fields to be mapped) but the new mappings do not get saved;
- Replication scripts can now be edited in multiple mode, by selecting a group of replications and opening the Replication Properties dialog. The script module shows a script only if all replications contain the same script code;
- Added export functionality to the SQL Command dialog to export the results of a query to a text file;
- When adding a replication to a group when only the initial refresh differs, a new warning message is shown;
- Improved Custom Restore Wizard by allowing catalog and schema creation on the fly and by introducing a check to verify if all matches have been established.
Log Reader:
- Fixed an error that occurred when creating a trigger-based replication on Informix when the source table had a field of type lvarchar;
- Fixed an error that occurred while reading the current ID in Oracle 10g Release 1, opening the V$THREAD view to read the last ID information which is not present in that system view before v. 10 Release 2.
Service Monitor:
- Fixed a problem that occurred when the Service Monitor was closed, even for a shutdown event. The monitor would always show a message saying that the Data Replicator would remain active. Now the message is only shown when the user manually closes it;
- Fixed an issue that occurred on Chinese systems. They showed invalid strings in menu items, labels and buttons.
Data Replicator:
- Fixed a problem that occurred with bulk insert on an IBM DB2 for i database as target. If an error happened on a block that contained only one record, the block would be re-tried indefinitely;
- Fixed an issue with bulk insert on a MySQL database as target.
Backslash characters ('/'), if present in source string data, would cause erroneous values to be replicated.
Ritmo i:
- Fixed a problem that occurred when passing DECIMAL parameters using a decimal separator with a locale setting different from the default language of the IBM i server.
|
| 6.6.0.9 |
04/13/09 |
Common:
- Added support for date, time and datetime2 data types in Microsoft SQL Server 2008;
- Fixed an issue with the bit data type in Sybase ASE. An error was reported during the creation of a replication in mirroring or synchronization mode;
- Introduced support for the data type ingresdate for the database Ingres;
- Introduced bulk insert with MySQL;
- Added support for saving DBMoto configuration options in the metadata;
- Introduced a script function, GetReceiversInUse, to retrieve a list of receivers used for all replications belonging to the same source iSeries connection;
- Introduced a script function, GetName in the IRecord object, to retrieve the column name given the numeric index;
- Introduced a script function, IsPrimaryKey in the IRecord object, to find out if a column is a primary key;
- Introduced new Global Script event handling, with two new events: ReplicationManager_onStart and ReplicationManager_onStop, to allow the detection of Data Replicator starts and stops;
- Fixed a problem for MySQL where the PRIMARY KEY detection used an incorrect syntax when loading tables in DBMoto.
Enterprise Manager:
- Added a new Metadata Settings dialog, available from the Metadata menu. This dialog contains most options previously available in the Options dialog (log settings, trace settings, mail notification options, date/time conversions and thread settings);
- Fixed a problem where the vertical scrollbar would be hidden at the bottom of the control when a list of files was shown in the Log Viewer;
- Fixed a memory error and improved performance in the Multiple Replication Wizard;
- Improved performance in the Summary step of all wizards;
- Improved performance while loading the main dialog panels with replications and while switching through nodes in the main treeview;
- Fixed a problem with replication selection change in the Monitor tab when replications are edited;
- Fixed a null reference exception in the Mapping Dialog when trying to map a disabled column (columns are disabled if their data type is not recognized);
- Fixed a problem creating a target table with a primary key in SQLBase. Since a unique index was not created, the table was unusable;
- Fixed a problem in the Restore Metadata Wizard where the metadata backup file could not be loaded.
Log Reader:
- Fixed a minor problem with Oracle where sometimes the Read Last ID would not retrieve
the transaction timestamp.
Data Replicator:
- Added support for MySQL replications using a transaction log;
- Fixed an issue with the bit data type in SQL Server when used as a source in mirroring. A parsing error was reported when reading its value and writing it to the target;
- Optimized Read Last ID when it is executed to read the last transaction ID within a group of replications;
- Fixed Read Last ID from date time. In SQL Server and Oracle, the last ID retrieved was erroneously calculated as the last ID before the given time (instead of being the first after that time);
- Improved Oracle log miner open function to load only redo log files (both online and archived) needed for the data to replicate and not all the files as it used to be;
- Introduced Oracle commitment control while reading redo logs;
- Fixed an issue that occurred when setting up the connection in trigger-based mode on SQLBase 11. An error was reported in creating the master table;
- Introduced support for Oracle RAC environments while loading the transaction log;
- Fixed a problem that occurred when creating a mirroring replication from a Sybase ASE source table using the Sybase ODBC driver;
- Fixed a problem reading numeric values with decimal digits from the Oracle LogMiner.
Data Replicator:
- Fixed a problem loading static resources from the Data Replicator when DBMoto.log was set to database or to Event log;
- Fixed an unhandled NullReference Exception that could be thrown by opening and then immediately closing the DBReplicator.
|
| 6.5.2.5 |
01/30/09 |
Common:
- Fixed a build issue in the underlying Ritmo/DB2 product that is distributed with DBMoto.
|
| 6.5.2.4 |
01/26/09 |
Common:
- Added support for Alternate Qualifier in Ritmo DB2;
- Introduced the property "default tablespace" in DB2 connections used when creating target tables in the Enterprise Manager;
- Updated configuration files to support Sybase 11.5 as target database;
- Fixed an overflow issue with Fields description when adding a new table to the metadata. Now the size of the Description column in the metadata has been increased and description data can be truncated;
- Modified the IBM DB2 for i catalog queries to improve performance in the Multiple Replications Wizard;
- Fixed an issue that occurred when logging DBMoto to a database. The function to verify the existence of log tables did not use the qualifier and in some cases could return erroneous results;
- Fixed a datatype mapping issue in MySQL configurations for GUID fields. They are now mapped to VARCHAR instead of BINARY.
Enterprise Manager:
- Fixed an issue where the configuration for the Data Replicator trace flags
(Trace Settings information) was not saved to disk and was not picked up by the
Data Replicator when running;
- Fixed a issue In Ritmo i connections where setting a Command Timeout value
greater than the connection Init Timeout value would not take effect. Added a
warning to show this information to the user whenever this happens;
- Fixed a problem in the Multiple Replications wizard that occurred while creating
target tables. Default clauses on binary fields were not removed generating a CREATE TABLE
error.
Log Reader:
- Fixed a minor problem with Oracle where sometimes the Read Last ID would not retrieve
the transaction timestamp.
Data Replicator:
- Modified behavior when an error occurs during a mirroring interval. The next interval now
starts no more than than 1 minute later. With previous versions, the DBReplicator would wait
the amount specified as the read interval;
- Added a workaround for the error with Code Point 0x220D in DB2 trigger-based replication.
|
| 6.5.1.6 |
11/24/08 |
Common:
- Restricted instances of the DBMoto Service Installation Utility to a single instance;
- Added a ColumnCount property to the IRecord interface to allow retrieving the number of mapped columns from a record in a replication script event;
- Introduced a trace flag to trace thread and task information;
- Introduced a trace flag to trace replication history messages;
- Introduced trace flag to trace low level connectivity info;
- Introduced trace flag to trace binary info during transactional replication;
- Introduced trace flag to trace info during the refresh phase;
- Fixed a problem that occurred when creating metadata on DBMSs without schemas (such as Firebird.) The qualifier name for the metadata table would appear as ‘.’;
- Fixed an issue that occurred when loading metadata if a property value is not retrieved in an enumerated type;
- Fixed a problem that occurred when the Data Replicator was running and a group was modified by adding or removing a replication. The update operation of the group was not sent to the Data Replicator;
- Fixed a duplicate key problem that occurred while writing to the History Log when using logging on a database;
- Fixed a problem for replications with MySQL when retrieving primary key information from the loaded tables. The key sequence was sometimes not unique and would generate errors while opening the Set Primary Key dialog or in other situations where a unique sequence was expected;
- Fixed a problem that occurred when connecting to DB2 where the password contained special characters like #,$, % ... (Fixed in Ritmo/DB2).
Enterprise Manager:
- Added a Clear All Mapping function to remove all mappings automatically or manually created in the replication;
- Introduced the capability to parse Date, Time and Timestamp values with different formats depending on the database in the SQL Query Command dialog;
- Optimized the Log Viewer to load large log files in a shorter time;
- Extended the custom mapping function header to allow customization of mappings using also source and target column datatypes and to distinguish if it is a forward or a backward mapping (in case of synchronization). Also added a string output parameter to be used as expression in the mapping;
- Fixed an error in the license Show Couples function that occurred when clicking the Show Couples button just after changing the license key;
- Fixed a problem with default metadata creation. The first time DBMoto Enterprise Manager is loaded, a default metadata on the local SQL Server CE is created. If a new metadata was created and this metadata was set as the default, an error occurred;
- Fixed an error that occurred in the Connection wizard when setting up the connection parameters and testing the connection. If the connection test failed, and the user stepped back to the previous step and then again to the next step, a NullReference exception was thrown;
- Fixed a small issue in the SQL Query Command dialog. When a SELECT statement failed the dialog would show the Grid tab with no data instead of showing by default the Messages tab containing the error message;
- Fixed an error in the Log Viewer that occurred when the replication name contained ‘.’ and record data were being shown in tabular format;
- Fixed a null reference error that occurred when trying to refresh a connection with no tables in it;
- Fixed the error: “FormatException: Input string was not in a correct format” reported by the create table wizard when creating a table in a SQL Server database containing varchar(max), nvarchar(max) or varbinary(max) data types.
Log Reader:
- Introduced support for archived redo logs in Oracle transactional replications via Connection Properties dialog, Transaction Log Type, Read Archived Logs check button;
- Added information to the log in case of errors on commands when setting up a replication to show details of the issues and facilitate the resolution;
- Updated the DBMOTOLIB library for IBM DB2 for i/iSeries/AS400 to return timestamp information when reading the last transaction ID;
- Introduced a new option for trigger-based replications to specify the maximum number of records to delete from the DBMoto log tables with a single SQL statement;
- In the Oracle log reader, fixed a problem that occurred when loading redo log files belonging to the same group;
- Fixed a problem in trigger-based replications where rolled-back transactions could generate the error message “A record is missing in log table”;
- Fixed a problem that occurred when verifying the AS400 setup library. If a warning was generated, the setup library version was not saved in the metadata and this resulted in the inability to use the installed library for transactional replications;
- Fixed a NullReferenceException that occurred when reading a record from the AS400 LogReader.
Data Replicator:
- Fixed a NullReference exception that occurred during the refresh of a group when the group contained only one replication;
- Fixed an issue that occurred while writing DBMoto log messages to the trace. If the log was set to database, the traces would be generated with the Resource IDs instead of explicit messages;
- Fixed a problem that occurred when replicating grouped replications. If an error was generated, sometimes the error messages referenced a replication of the group other than the source of the error.
Setup:
- Updated installation of SQL Server Compact Edition to 3.5 SP1 for x64 and x32. New metadata are automatically created on SQL Server CE both on 32bit and 64bit installations;
- Fixed an issue with the upgrade, where it would remove DBMotoLicense.xml and require key validation again.
|
| 6.5.0 |
08/21/08 |
Common:
- Introduced log history for the monitor status of the replications;
- Added features to the Log Viewer to filter and search log content;
- Defined SQL Server CE as default metadata connection;
- Renamed “Ritmo i5” into “Ritmo i” in all paths to the driver and all user messages;
- Introduced support for bulk insert with Oracle as target;
- Introduced a group refresh recovery property, to allow refresh recovery within a group starting from the first replication that failed and not from the first replication in the group;
- Added support for mapping user-defined characters (UDC) and/or overriding the CCSID when replicating with IBM DB2 for i;
- Added support for case-sensitive passwords for use with Ritmo/i;
- Fixed an issue that occurred while loading metadata and testing metadata version. If the connection was not available, the error would mention a problem with the metadata version;
- Improved support for the IBM DB2 security mechanism feature by adding a SecurityMechanism property in the required connection properties for Ritmo/DB2 connections. Users must select the appropriate security mechanism for their DB2 server.
Enterprise Manager:
- Introduced foreign key support by adding a tool to show the order of replications within a group based on the foreign key relationship and running replications based on that order;
- Introduced a function to update the date format from IBM DB2 for i/iSeries/AS400 tables whenever the table contains date/time fields and is involved in a transactional replication as source;
- Introduced a warning about resource use when either the Enterprise Manager trace or the Data Replicator trace or both are enabled;
- Added the option to open the Field Mapping dialog in a replication even if in read-only mode;
- Enhanced the Field Mapping dialog to show arrows not only on field to field mapping but also on expression mapping;
- Added a monitor feature to show the final execution status of all replications when the Data Replicator is exited;
- Fixed an error that occurred when creating a trigger-based replication on a SQL Server connection when the database name contained special characters;
- Fixed a problem that occurred when editing and saving a metadata connection using the Metadata Properties dialog;
- Fixed an issue that occurred when creating metadata. For some databases, DBMoto was not able to determine that the metadata tables had already been created;
- Fixed an issue that occurred when running DBMoto on a 64-bit machine. Some dialogs that contained the DBGrid control (such as the Create Table Wizard) generated an exception when using the grid (editing cells or selecting values from combobox cells);
- Fixed a problem with pooled connections. When the Enterprise Manager was closed, connections in the pool were not closed and disposed;
- Fixed a problem that occurred when clicking the Test button on a SQL Server CE connection. The test function would try to create the database even if it already existed;
- Fixed an exception that occurred when closing the SQL Command dialog where errors were generated at the provider level on closing the command and the connection objects;
- Fixed an error that occurred when altering a replicated table and refreshing its structure from the Enterprise Manager. In some cases, the mapping objects were not correctly removed from the metadata.
Log Reader:
- Added support for LONG VARCHAR in mirroring from SQLBase;
- Introduced a non-critical column selection feature in transactional replications. You can now tag columns in the source table as non-critical, so that if an update involves only those columns, it will be bypassed in the replication;
- The “Command Timeout” connection property is now used in all queries executed by trigger-based replications;
- Added the connection property “Max size Mirroring Block” for trigger-based replication;
- Fixed a problem that occurred when installing DBMOTOLIB on IBM DB2 for i/iSeries/AS400. In versions greater than V4R0 and lower than V4R2, the stored procedure syntax was incorrect;
- Fixed an issue that occurred when replicating in transactional mode from SQLServer or Oracle using Real, Float or Double data types and the machine local settings were using decimal separators different from the US settings. Data values were replicated incorrectly.
Data Replicator:
- Fixed a problem that occurred when an IBM DB2 for i/iSeries/AS400 source TIME field was mapped to a date&time target field (in any database that supports this kind of datatype). The date part of the target field was set to ‘01-01-0001’ in refresh and to the current date in mirroring. Now both mirroring and refresh set the date part to 01-01-0001;
- Fixed a problem that occurred while generating DBMoto log messages when the machine has a locale other than English or Italian and DBMoto is running as service;
- Fixed an error that occurred on scheduled refresh replications. The replication was disabled if a connection error occurred. Now it goes into recovery mode and waits till the next refresh scheduled time.
Setup:
- Added an option to add DBMoto icons to the desktop and to run DBMoto Enterprise Manager at the end of the setup;
- Fixed an issue that would allow users to downgrade the DBMoto setup to an older version.
|
| 6.2.0 |
04/29/08 |
Enterprise Manager:
- Fixed a problem in the Replication Wizard where it was not possible to schedule mirroring interruptions from the wizard because the ‘Add’ button was always disabled;
- Fixed an issue that occurred with Internet Protocol (IP) version 6 that occurred when resolving an IBM System i IP address from the System i library setup function;
- Fixed a problem that occurred when setting up a new connection. The checkbox to set up transactional replications was set to false by default;
- Added TransactionTS (transaction timestamp) to the log fields available from the Expression Editor;
- Fixed an exception in the Create Target Table wizard in the column definition step when the Next button was selected while a cell was being edited.
Log Reader:
- Fixed a parsing issue when reading ntext columns in SQL Server transactional replications;
- Fixed a problem in trigger-based synchronization when both target and source connections had configured the same master table name. An error was reported in the log indicating that a record was missing in a log table;
- Fixed an issue in synchronizations involving a SQL Server connection when a shrink (or clean up) of the log was performed on the server. Transactions executed by DBMoto on SQL Server were reprocessed back to the original server creating errors of duplicate keys or missing records.
Data Replicator:
- Fixed a problem with the SQLBulkCopy (insert bulk mode for SQL Server target) where the command timeout parameter was not set and the default (30 seconds) was used as a timeout.
|
| 6.1.1 |
03/14/08 |
Common:
- Introduced handling of a remote distributor for SQL Server connections;
- Introduced support for transactional replications using DB2 on i5/OS for server versions back to V3R1;
- Added support for trigger-based replication using SQL Server (including SQL Server Express Edition) as a source;
- Added trigger-based replication for Informix as a source database;
- Added trigger-based replication for Sybase SQL Anywhere as a source database;
- Added trigger-based replication for Sybase ASE as a source database;
- Introduced an "Initial Refresh" option for refresh mode replications (it was disabled by default);
- Introduced a control to handle an error that occurred when mapping to a LOB field and using bulk insert on replications that have DB2 for i5/OS as a target;
- Fixed a problem that occurred when running a bulk insert with SQL Server Native Client (OLE DB) as a target provider;
- Fixed a problem that occurred with the scheduled refresh where it would not run if the "Initial Refresh" option was not checked.
API Library:
- Fixed a problem that occurred when calling the DisableReplication API. It would incorrectly check if the engine was running and generate an inappropriate error;
- Improved the API trace generation,so that it follows the Enterprise Manager trace settings, with the only difference that it creates its own trace file called DBMotoAPI.trc;
- Fixed some problems that occurred when communicating between the API client library and the Data Replicator with the TCP/IP connection.
Enterprise Manager:
- Enhanced the Export Replication Wizard so that, when a replication is selected, the source and target connections of that replication are automatically selected in the wizard;
- Fixed a problem where the Export Replication Wizard, when creating the exported replication with a new target table, would use the list of fields from the original source table, instead of using the original target table;
- Fixed a problem in the Export Replication Wizard where the exported replication would inherit the Insert Mode from the origin replication even when that specific mode was not supported in the exported replication target database;
- Enhanced trigger-based replications so that, when a table is modified through the ALTER table command and the table is refreshed, DBMoto asks the user whether to regenerate the triggers defined on that table;
- Introduced repair functionality for transactional replications in cases where it is necessary to rerun a setup of transactional replication objects that have been removed or corrupted;
- Fixed transactional support in DBMoto connection objects upgraded from earlier versions where there was no transactional support for that database;
- Added a word wrap button in “Execute SQL Command” dialog;
- Fixed a problem in the Replication Properties dialog. When editing multiple replications, the Read Last ID function was only executed on the first replication in the list.
Log Reader:
- Introduced the option to specify the path for creating the distributor database;
- Introduced the option to indicate an alias name for the server where the distributor is installed to support cases when the server network name is not valid to open a connection;
- In transactional replications involving DB2 on i5/OS, fixed a problem for TIME fields with *USA format and the value was 12:00 PM.
Data Replicator:
- Extended the IRecord interface with the functions GetType, GetDBType, GetPrecision, GetScale and GetLength;
- Fixed a problem that occurred when aborting a transaction using the script function Record_onBeforeMapping or Record_onAfterMapping. If the transaction aborted was the last transaction in a mirroring interval and the Data Replicator was closed, the transaction ID would not be updated and the same transaction would be picked up once again when the Data Replicator was restarted;
- Fixed a problem where, in a refresh of a group, if the source table had no record, the target table was not truncated;
- Modified refresh behavior so that a refresh replication will only start according to the schedule. An initial refresh is no longer required.
|
| 6.1.0.25 |
12/05/07 |
Common:
- Modified the function that checks the existence of metadata tables when loading metadata. In some databases, the absence of a qualifier could generate an error during this operation.
Enterprise Manager:
- Introduced the option to perform SQL Server mirroring and synchronization replications using triggers instead of the transaction log. This option provides a way to perform transactional replications with SQL Server 2005 Express, and with tables that do not have a primary key defined;
- Added the option to define a remote distributor for SQL Server transactional replications when setting up connections for mirroring or synchronization;
- Provided a way to refresh transactional replication objects in the metadata for SQL Server and trigger-based replications. This option is available in the Transaction Read Point dialog;
- Fixed a problem that occurred when opening the Expression Editor from the Replication Script dialog. All static functions defined in the global script were not loaded in the list;
- Fixed an error that occurred when changing a metadata qualifier. Clicking on Apply first, then OK did not refresh the metadata content with the new objects;
- Fixed a null reference exception that occurred when modifying a metadata connection for a database which does not support qualifiers;
- Fixed a problem that occurred when changing Distributor settings on a SQL Server connection. The password parameter would be saved incorrectly;
- Fixed a problem in the Metadata Restore Wizard. If a replication was scheduled with recurrences (refresh) or interruptions (mirroring and synchronization), the wizard imported the schedule settings but enabled the scheduler to Run One Time Only (for refresh replications) or Run Continuously (for mirroring and synchronization replications).
|
| 6.1.0.24 |
10/31/07 |
Common:
- Introduced a new feature to allow custom QCMDEXC stored
procedure to be run on i5/iSeries/AS400 connections for remote
commands execution.
Enterprise Manager:
- Fixed a problem in System i connections where the properties
‘Temporary Library Name’, ‘Max Size Mirroring Block’ and ‘Journal
Sequence Reset’ could not be modified and saved in the metadata.
|
| 6.1.0.23 |
10/24/07 |
Common:
- Added support for SQL Server timestamp column type;
- Added support for Informix .Net Provider;
- Improved the description of the message generated when loading the
metadata in case of an error: the message would always state that
metadata tables were not created even when the error was of a different nature;
- Fixed an issue when loading metadata upgraded from version 6.0. In some
cases the metadata could contain schemas related to non-existing catalogs,
preventing the metadata database from being opened;
- Fixed a problem that occurred when specifying a different metadata
qualifier from the default database in the connection string. DBMoto would
use the qualifier to verify the existence of metadata but then used the
database of the connection string to create the metadata tables.
Enterprise Manager:
- Introduced a new wizard that restores partial contents of metadata,
allowing selection of single replications to be imported to an existing
metadata database;
- Introduced a copy and paste feature for DBMoto connections. Now
connection objects can be copied from source to target and vice versa
and also among different metadata sets;
- Introduced a rename feature for the following components: metadata,
source connections, target connections, replications, and groups;
- In the Replication and Multiple Replication wizards, introduced
the option to use the source table name to name generated replications;
- Added a tool to the License Information dialog to visualize the
number of replication pairs created on a metadata;
- Enhanced the license error message that can occur when loading a
metadata to show the number of replication pairs defined in the metadata;
- Added a feature to change the login ID used in the Execute SQL Command
dialog. This is useful for synchronization replications during the test
phase when the dialog is used to execute commands and it has to be run
with a different user so that the synchronization process does not
skip the transaction;
- Table columns are now displayed using their ordinal value by default
instead of using alphabetic order;
- Fixed a problem that occurred when mapping fields in synchronization
mode through the Expression Generator dialog. Listing the Fields element
in the treeview would only show the source table fields list, even in target
to source direction;
- Fixed a problem where occasionally, after a general error, the Enterprise
Manager would close but would still keep running in memory;
- Fixed a graphic issue, when using a Large Size DPI setting in the
monitor configuration. The toolbar in the Enterprise Manager main dialog
would expand vertically covering part of the controls below it;
- Fixed a graphic problem in the Field Mapping dialog with Unmapped
fields in synchronization replications, when switching mapping back and
forth, it would show the same fields as unmapped;
- Fixed a Null reference exception in the Replication Properties
dialog when trying to open more than one replication by selecting
multiple replications;
- Fixed a problem that occurs when dropping one or more columns
(with an ALTER TABLE) on a table where a replication has been defined.
After running a catalog refresh on the table, the metadata could no
longer be loaded;
- Fixed a problem that occurred when dropping one or more columns
(with an ALTER TABLE) on a table where a replication was defined with
one or more Unmapped Fields. After running a catalog refresh on the table,
the Unmapped Fields list was not refreshed;
- Fixed a problem that occurred when changing metadata connection
properties using the Connection Properties dialog. The metadata would
not reload using the new connection parameters;
- Fixed a graphic problem that occurred when the DPI setting was different
from the standard (96). The form would grow in size every time it was opened.
Log Reader:
- Fixed a problem that occurred when mirroring TIMESTAMP data type fields in Oracle;
- Fixed a problem where NULL values in UPDATE statements were not replicated when
the source was a SQL Server;
- Fixed a problem with possible lost of transactions when the connection to the
target database was lost;
- Fixed an IndexOutOfBoundException happening sometime in synchronization mode;
- Fixed a NullReferenceException when replicating from IBM System i
(iSeries/AS400) using Arabic conversion classes.
Data Replicator:
- Fixed a problem introduced in version 6.1.0.14. In some cases,
replication script events defined inside a group were only called
one time for the entire group, instead of once per replication;
- Fixed a problem with Unmapped fields. In synchronization replications,
the unmapped fields were not retrieved correctly and they would generate
an error if used inside a script function;
- Fixed a problem in synchronization when processing multiple transactions
affecting the same record in the same replication interval.
|
| 6.1.0.16 |
07/30/07 |
Common:
- Passed Microsoft Windows Vista certification;
- Added support for enum data type in MySQL;
- Added access to the internal source and target connection from the
replication script through the new properties InternalSourceConnection
and InternalTargetConnection;
- Fixed a problem creating a Mirroring replication on a MySQL source
connection when the master table and the source table belonged to different
databases;
- Added support for System i/iSeries journals that reset the sequence number
when the receiver changes.
Log Reader:
- Fixed an exception in the initial refresh from an Oracle database when
the last replication transaction ID was not available in the Oracle Log.
|
| 6.1.0.14 |
06/12/07 |
Common:
- Modified the application to be aware of activity relates to restart manager
aware so that it responds correctly to requests from the system to close or shut
down;
- Verified exception handling strategies to ensure that possible problems
would not be hidden by a general catch block and therefore remain unresolved;
- Updated the metadata upgrade function to correct some upgrade problems
and optimize the process.
Enterprise Manager:
- Fixed a problem that sometimes occurred in the Multiple Replication
Wizard where, in the Select Replications step, a non existing target table
was selected and forced to be created before the processing step. Mapping
information would not be visible and metadata would contain incorrect
information.
Data Replicator:
- Fixed an exception that occurred when reading the
System i/iSeries/AS400 log after upgrading DBMoto to
version 6.1.0.13.
|
| 6.1.0.13 |
05/23/07 |
Common:
- Added Windows Event Log messages in case of failure at startup of the
DBMoto applications;
- Introduced a check when loading metadata to see if a table has no columns.
This is in general indication of something that failed, but no longer generates
an error;
- Fixed a problem in create table configuration in cases where there were
alternative data type mappings depending on the database version: in some
cases, the create table information would be erroneously set to null, generating
syntax errors when creating tables;
- Added support for user defined data types in Sybase ASE;
- Fixed an issue in a function defined to parse (and modify) connection string
values. It could cause problems with the LogReader when a connection with
sysadmin privileges needed to be built in order to correctly set up a
transactional replication;
- Fixed a problem that occurred when using SQL Server as source in
transactional replications. If the connection used authenticated security,
DBMoto could fail to determine whether the user was a sysadmin or not (and
fail to show the warning when defining a transactional replication that a
non-sysadmin user is needed for the connection);
- Fixed a problem that was introduced in the metadata update function.
In a query during the metadata upgrade, DBMoto would erroneously prefix the
column ‘ConnectionID’ with the qualifier defined for the metadata;
- Fixed an invalid cast exception happening while upgrading the metadata
to version 6.1.0.
Enterprise Manager:
- Fixed a null reference exception in the Connection Properties dialog
when the connection settings were changed to use a different provider/database;
- Fixed an error that occurred when physically deleting a table that had
been set up in DBMoto as the source or target of a replication. The ‘Refresh’
context menu on the table or catalog object would remove the table but not
the replication from the metadata;
- Fixed an invalid cast exception when opening the Update License dialog and an
invalid license was selected;
- Resolved an unhandled exception in the Replication Browser tab, when
clicking on ‘Source Table, ‘Target Table’ or ‘Replication Mode’ column headers
to sort the rows;
- Fixed a null reference exception in the Enterprise Manager window when clicking on
‘Refresh’ on a catalog or schema with no tables.
Data Replicator:
- Fixed an issue with numeric fields having precision greater than 28 on
systems configured to use ‘,’ (comma) as decimal separator character;
- Fixed a problem with the synchronization that could generate different
errors during the execution. In some cases the data was replicated only in
one direction, in other cases conversion errors were reported.
|
| 6.1.0.10 |
04/23/07 |
Common:
- Added the ability to set the order in which tables are
refreshed in a group;
- Added support for numeric and decimal fields with precision
greater than 28;
- Added the global events Replication_onError and Record_onExecuteError;
- Added a replication script event LogReader_onPrepareMirroring;
- Updated replication script events. LogReader_onBeforeTransactionsRead
has changed name to LogReader_onBeforeMirroring, LogReader_onAfterTransactionsRead
has changed name to LogReader_onAfterMirroring. DBMoto checks
if these events are defined in a script on loading metadata
and offers to convert metadata/scripts to the new names;
- Optimized code to load and save the metadata;
- Introduced the DB2 connection property CommitBlockSize
to release database resources while refreshing and mirroring
tables with LOB data;
- Added support for MySQL BINARY and VARBINARY datatypes
(MySQL version 4.1.2 or above);
- Modified the Metadata wizard and introduced a metadata
table qualifier property, used to indicate the specific
catalog and schema where the metadata tables are created;
- Fixed a problem where Datetime formatting was not following
a standard format;
- Fixed a problem in the LogViewer when opening log files
with errors indented under other errors;
- Introduced an option to filter warning messages in the
log that are displayed whenever an update or delete operation
applies to more than one record at the target table;
- Improved log/trace readability on parameter values. When
the value is NULL, it is logged as <DBNull>.
When the value is not assigned, it is logged as <null>;
- Updated the configuration for MySQL. In version 5 and
above, the maximum size of VARCHAR types has increased;
- Fixed a problem where SQLBase generated an error when
loading tables;
- Fixed some issues with the TCP/IP communication between
Enterprise Manager and Data Replicator. The metadata icon
now shows an error whenever a problem in communication is
found with the Data Replicator;
- Fixed a problem in configuring date fields, the InvariantCulture
is now used to avoid conflicts in date formats depending
on the regional settings;
- Fixed some inconsistencies in writing log messages on
replications in synchronization mode. Sometimes the error
message was not written to the DBMoto log but only in the
trace;
- Fixed a problem in the communication between Enterprise
Manager and Data Replicator on systems using IPv6;
- Fixed an error when compiling/saving changes to the global
script while they where in use by the Data Replicator. A
message has been introduced to warn the user that changes
in the global script will be reflected in the Data Replicator
only after restarting it;
- Fixed a problem with the obfuscation of the script method
SendMail;
- Fixed a problem creating a mirroring replication using
MySQL tables containing BLOB or text fields;
- Set a maximum limit for the size of the Default column
in metadata fields table to avoid errors while loading tables
with a default value that exceeds the maximum allowed;
- Fixed a problem where starting a replication group in
mirroring mode could fail with an error indicating that
a replication does not match the transaction ID used by
other replications in the group;
- Fixed a problem where an unhandled exception could happen
when starting and stopping the DBMoto service from the DBMoto
service monitor;
- Fixed problems with Firebird when creating a target table.
The syntax for the DEFAULT clause was incorrect. Also fixed
some precision problems with the FLOAT data type;
- Fixed a problem when creating metadata on Sybase ASE.
The QuotedIdentifier property needed to be set to 1. It
is now its the default value in DBMoto;
- Changed functionality so that when a Ritmo/i5 Exception is thrown while
reading the first entry in the journal, DBMoto retries the mirroring one more
time at the next interval before reporting an exception in the log.
Enterprise Manager:
- In the AS400 Library Setup dialog, introduced the option
to indicate a different library from DBMOTOLIB for installation
of DBMoto setup information;
- Optimized loading and sorting of graphical elements in
the Enterprise Manager;
- Introduced a limitation on SQL Server connections. When
the database has a transactional replication defined, the
Distributor cannot be removed;
- Introduced a limitation on trigger-based log connections.
When a database has a transactional replication defined,
the master table cannot be uninstalled;
- Improved handling of LOB fields on DB2 mainframe platforms.
When creating target tables with LOB fields, DBMOTO automatically
adds the ROWID column when required;
- Added Oracle materialized views to the Select Tables
dialog;
- Fixed a problem where, when removing metadata tables defined
in Microsoft Access, the connection would remain open;
- Fixed a problem that occurred when changing CCSID values
manually for DB2 (System i/iSeries/AS400) tables. The Object
Browser did not refresh its information unless a different
node was selected;
- Fixed a null reference exception in the Replication Properties
dialog thato ccurred when editing the current transaction
ID and the result was null;
- Added a feature to ask the user whether to remove the
objects created in the database for transactional replications
when switching to refresh mode;
- Fixed a problem where creating a table from MySQL to MySQL
with a default value on a DateTime field would define the
default clause without quotes;
- Fixed a sporadic multithreading error when closing DBMoto
Enterprise Manager;
- Fixed a problem where, in the Create Table wizard, the
datatypes in the Type column were not sorted alphabetically;
- Resolved a problem in selecting tables with descriptions
longer than 50 characters, the maximum size in the metadata.
The description is now truncated to 50 characters when loading
the metadata;
- Fixed the “Define another replication group” flag in the
Replication Group Wizard;
- Fixed a problem in wizard dialogs on table selection steps
with the Schema combobox;
- In the Enterprise Manager, fixed a synchronization issue
when closing the window;
- Fixed some SQL syntax issues creating tables on Sybase
ASE;
- Fixed a problem where, in selecting tables on databases
with a huge number of tables, the dialog would hang or throw
an exception;
- Fixed a problem where, when removing an entire catalog
from metadata, the schema was not deleted and caused a catalog
not found error when reloading the metadata;
- Fixed a message box location. When an error happened during
application startup, the message box would be displayed
in the left top corner of the screen. Now it is displayed
in the center of the screen.
- Fixed a problem in editing multiple replications
with the Replication Properties dialog when the selected
replication was modified;
- For System i/iSeries/As400 systems, a fields Description
column now shows the LABEL of the column;
- Fixed some issues in the Replication Properties dialog.
When the replication mode was switched from refresh to mirroring,
sometimes the transaction ID information was not filled
out;
- Fixed a problem in the Replication Wizard when inserting non-numerical
values in the Transaction ID field.
Log Reader:
- When using System i/iSeries/AS400 as source, introduced
verification of the existence of the stored procedure when
checking on the setup library installation;
- Introduced support for Oracle partition tables in transactional
replications;
- For Oracle source tables, added the ability to print the
INFO column from the logminer to verify if there is any
data corrupted in the dictionary;
- Fixed a problem in SQL Server 2005 when determining if
the current user is a sysadmin: if the connection was using
a non sysadmin user, the resulting query did not have enough
permissions to retrieve this information;
- Fixed a problem for Oracle source tables. When table fields
were assigned a NULL value, in some cases the assignment
was not replicated to the target;
- Fixed a parsing issue with SQL Server source tables, CALL
statements were not recognized in the log and would throw
an exception;
- Fixed a problem when using SQL Server source tables in
transactional mode and creating the distributor and the default
location for SQL Server databases.
Data Replicator:
- During refresh, when the TRUNCATE method failed for a
timeout error, the attempt to run a DELETE statement would
fail because the connection was put in a broken state;
- Fixed duplicate key errors and record
to delete not found errors in the first mirroring
after a refresh;
- Fixed the error “Object reference not set to an instance
of an object” which could occur during synchronization;
- Introduced support for GUID datatype, which can be mapped
to an alphanumeric string or a binary string;
- An error was reported when a transaction updated only
non-mapped column for a replication using Oracle or SQLServer
as source database;
- Refreshing an Oracle table containing a NULL value in
a numeric column with precision greater than 28, generated
the error Input string was not in a correct format
;
- Fixed an issue with the generation of log messages on
synchronization replications, sometimes the message would
not contain the name of the replication;
- Fixed a recovery problem that occurred when the metadata
connection was not available and the Data Replicator failed to recover the
replication once the metadata server was up and running back again.
|
| 6.0.0.30 |
11/05/06 |
Common:
- Fixed a problem where .Net data providers registered in the GAC could not
be loaded without selecting the assembly in the connection properties;
- Added support for Firebird v2.0 for .Net 2.0.
Enterprise Manager:
- Fixed a problem where the replication icon in the right panel was not
updated when selecting the Replications node in the main tree view and
enabling/disabling a replication from the right panel;
- Fixed a problem when switching a replication mode from refresh to mirroring
or synchronization and the database did not allow transactional replications;
- Fixed a “connection already open” error when removing a metadata that
had not yet been loaded from the Enterprise Manager;
- Fixed a problem with the migration of metadata already upgraded from
version 4.x. The Global Script column was not correctly loaded into the
new metadata;
- Fixed a problem where the field mappings of the replication were not
updated when opening a Replication Properties dialog and switching between
different replication modes;
- Fixed a problem in the Options dialog Database Log settings where the
number was not multiplied by 1000 as the label indicated;
- Fixed a problem in the Options dialog Database Log settings for the
maximum number of messages. Once the checkbox was set to true, it couldn’t
be reset to false;
- Disabled the option to modify or remove the metadata while running;
- Added a Refresh Recovery option in the Replication Properties dialog;
- Fixed an argument out of range exception while mapping a target column to
an expression when user functions were defined in the global script.
Log Reader:
- Managed an issue where System i/iSeries/AS400 log setup, when defining a
new replication, changed the creation of temporary files from the DBMoto
temp library to QTEM.
Data Replicator:
- Fixed a Null Reference Exception during the refresh of a replication with
a CCSID set on the source table or field;
- Fixed an Overflow Exception replicating to an Oracle table containing decimal
fields with precision less than 3. The exception occurred when processing records
with negative values for these fields;
- Fixed a problem that occurred when one replication in a group could not
be run because no primary keys had been defined in the target table. The error
message in the log indicated a generic error for the group and not for the specific
target table;
- Fixed a problem where, if primary keys and other replication-related
information was updated while the engine was running, once the replication was
enabled, the engine did not refresh this information but kept using the former
settings;
- Fixed a problem where Initial refresh was not executed when a recurrent
refresh was set;
- Fixed an index out of range exception that occurred when recovering from
an error on refresh for a group of replications.
APIs:
- Fixed a problem where, due to a build issue, all exported methods were
not accessible.
|
| 6.0.0.29 |
10/15/06 |
Common:
- Fixed a problem when a connection timeout was generated
where the connection was closed and another connection opened.
The problem was detected with a System i/iSeries/AS400 source
connection, but it could also occur in other environments.
After the connection timeout, the connection status was
set to 'broken', indicating that the connection was not
available. This cause The problem caused unnecessary resource
consumption;
- Fixed some issues in Ritmo for iSeries with bulk insert;
- Changed metadata structure to avoid errors with DB2 using varchar data
types;
- Changed SQL Server catalog queries to avoid problems with compatibility
levels set on the database;
- Fixed an issue with SQLBase (Gupta) when reading CLOB data types in
metadata tables;
- Changed SendMail class to add authority and SSL encryption parameters;
- Introduced trigger-based transactional replication capabilities for
DB2 UDB, DB2 z/OS (s390), Gupta SQLBase and ANTs;
- Fixed a problem with Solid database. When loading CLOB/BLOB columns, the
precision generated an overflow error;
- Added support for Bulk Insert in refresh replications when the target is a
SQL Server .NET connection (SQLClient .NET provider);
- Fixed a problem in DB2 UDB and DB2 z/OS. When a “LONGVAR” or “LONGVAR FOR
BIT DATA” was defined, DBMoto did not recognize the data type and flagged it
as unknown;
- Introduced options to save the DBMoto log to a database or to the Microsoft
Windows Event Viewer;
- Fixed a problem with Solid database that occurred when loading tables
containing primary keys into the Enterprise Manager;
- Introduced the use of unmapped columns for both source and target tables
in a replication, allowing unmapped columns to be used in scripts;
- Introduced TCP/IP client/server communication between the Enterprise Manager
and the Data Replicator to improve synchronization between the two applications and
to handle multiple clients and servers in an efficient manner.
Enterprise Manager:
- Introduced a wizard to export replications from one database/catalog/schema to another;
- Fixed a problem in the tree view. Sometimes when the main listview had focus, right
clicking on the treeview nodes would show all menu items inactive;
- Changed the behavior of the Execute SQL Command dialog. It no longer opens and closes
a connection each time a command is run;
- Fixed an error generated in some cases while resizing the main window;
- Fixed an anomaly in the connection wizards. When a connection was created in the Set
Connection String step, going back to the Select Provider step and changing the Assembly
path would not change connection settings;
- Fixed an issue in the connection wizards related to establishing if the connection needed
a setup step;
- Fixed a problem when editing a group properties. When changing a scheduled refresh
from “Run recurrently” to “Run one time only”, the change was not get saved in the
replication properties;
- Fixed an exception that occurred when opening the Mapping window if a global script was
not compiled correctly;
- Fixed an exception in the Create Table window that occurred when a field was flagged
as unknown and the user tried to change some settings in the table grid;
- Resolved a problem in the Select Replications step of the Multiple Replication
Wizard. The list of tables shown, even after stepping back and changing the source
connection and library, would always be the same;
- Introduced the “Use Always Default Providers” configuration property to limit
the number of providers available when creating a new connection. The property is
set to true by default.
Log Reader:
- Fixed a problem in the SQL Server log reader which in rare situations could
skip some transactions;
- Fixed an exception happening in the iSeries/AS400 log reader that reported
the message “FROM and To values not valid”;
- Fixed a problem for SQL Server when, creating articles, the owner name was
not filtered and it could generate problems on tables with the same name under
different owners;
- Fixed a problem with SQL Server 2005 when, setting up the distributor, the
database files path was not correctly retrieved;
- Fixed the following error with SQL Server 2005 when creating a publication:
“This database is not enabled for publication”. The connection to the server
needed to be reset;
- Fixed a problem that occurred when mirroring from an iSeries/AS400 connection.
In a group with more than 32 replications, transactions were occasionally not
replicated;
- Fixed a problem that occurred when replicating from iSeries/AS400 in
transactional mode, and the table record size was less than 20. The following
exception was thrown while reading a change receiver from the journal:
System.Exception: Error reading transaction with ID = nnnnn and TS = tttt
from the transaction log. ---> System.IndexOutOfRangeException: Index was
outside the bounds of the array.
Data Replicator:
- When the metadata connection was not available, the error message was
written in the log file, but not the recovery message;
- The script event AfterRefresh in some cases was not invoked;
- Fixed a problem in some of the script events where there was no exception
handler defined;
- Added support for NULL values in the primary key field;
- Fixed a problem where the current transaction ID for some replications was not saved
in the metadata when closing the DataReplicator.
|
| 5.0.0.24 |
05/08/06 |
Common:
- Introduced a compatibility level property in the connection object to
provide the proper configuration in case the database compatibility level is changed;
- Fixed an issue in Ritmo for iSeries using connection pooling;
- Fixed an internal lock problem in Ritmo for DB2 which caused a decrease in
performance when using transactions.
Enterprise Manager:
- Fixed an error on the wizards. When clicking Next or Back repeatedly,
without waiting for the step to complete, the handling function would throw
an exception;
- Introduced new property in SQL Server connections to enable/disable the
detection of the UserID and Transaction Timestamp during mirroring. If this
information is not needed, performance during mirroring can be improved by
skipping an additional step while opening the transaction log;
- Fixed a problem in the mapping dialog. The “Map to Expression…” menu item
was enabled only in the popup menu but not in the toolbar menu;
- Fixed a problem in the mapping dialog. When reordering the fields columns
(in both source and target fields lists) the arrows representing the column
mappings were not refreshed;
- Introduced row and column line numbers in the script editor dialog;
- Fixed a problem setting the time intervals in the Replication Properties
Scheduler tab: the fourth time setting was not saved (it was always 12:00).
Log Reader:
- Resolved the error “Invalid column name 'Name'. Invalid column name
'UID'.” when mirroring tables from a SQL Server database with case sensitive
collation;
- Fixed a NullReferenceException problem when mirroring tables from an iSeries
containing unmapped LOB columns;
- Resolved the timeout issues with the SQLServer Log reader when the log size
became large;
- Extended the iSeries Log Reader to support Journals with the sequence option set
to *RESET;
- Fixed a problem when replicating from SQL Server in mirroring/synchronization
mode. The connection used was shared among replications causing errors when multiple
readers were opened on the same connection;
- Introduced ‘Remove Trailing Blanks’ property in mirroring from iSeries/AS400
when using HiT OLEDB/400 or HiT Software Ritmo for iSeries: if this property is set
to True in the connection configuration, DBMoto will accordingly remove blanks when
replicating char/varchar/long varchar fields;
- Fixed a problem for groups containing more than 32 replications and mirroring from
iSeries/AS400 tables belonging to different libraries where only the transactions of
one library were replicated.
Data Replicator:
- Fixed a problem with the insert mode BulkInsert. With Ritmo for iSeries, a single
insert was executed instead;
- Fixed a problem where replicating to a Microsoft Access table containing Image or
Text fields could generate an “Invalid precision value” exception if the data size
was greater or equal than 512 bytes;
- Fixed a problem where SQL Server data types text, ntext and image were truncated to
16 bytes;
- Fixed a problem where a refresh filter was not applied if the source table did not
have a key defined in DBMoto;
- Changed the Data Replicator service name to DBMotoSrv.
|
| 5.0.0.22 |
04/05/06 |
Common:
- Fixed a problem with the connection string parser. When the password
contained ‘;’ or ‘=’, the properties were not parsed correctly;
- Fixed a problem with Log/trace options when configured to create a new file
every day;
- Fixed a problem in Ritmo for DB2 with reading strings containing special
characters.
Enterprise Manager:
- Fixed a problem where, in DB2 configuration, the Database
Server Type property was forced to an OLE DB connection
depending on the DBMS chosen (DB2 UDB or DB2 OS390);
- Fixed the update license key dialog so that it reads the
license from a file correctly;
- Fixed a localization problem on non-English systems on
the secondary thread associated with the replication monitor;
- Fixed a problem where the Refresh Filter option in the Replication
Properties dialog did not edit the current value when displaying the
editing dialog opened through the ellipsis button;
- Fixed an exception when creating a new table with the wizard while
adding the new table to the treeview;
- Fixed a problem with grouped replications. If a replication was
created inside a group, it would not follow the replication mode of
the group (specifically the initial refresh option);
- Fixed a problem sometimes encountered when closing the Enterprise
Manager;
- Fixed a problem with the Enterprise Manager monitoring thread which
generated an error with some providers (for instance, using Oracle
metadata with the Oracle OLE DB provider);
- Fixed a problem with the replication status. When creating replications
using the replication wizard or the multiple replication wizard, the
replication status was always ‘0 – Idle’ no matter what was specified in
the wizard;
- Fixed a problem which occurred when creating one or many replications
using the wizards and a group was selected. The replication advanced
properties were not saved with the values defined in the group.
Log Reader:
- Fixed a problem when using iSeries/AS400 as a source and detecting the
journal associated to a table (the table would not appear to be journaled even
if it was);
- Fixed a problem mirroring a group with more than 30 replications
connecting to an iSeries/AS400 source. In some situations, the log reading
failed with the message “no entries converted or received from journal”;
- Fixed a problem mirroring from SQL Server when the database name
contained special characters. Some “USE” statements in the log reader
failed because of missing quotes on the database name.
Data Replicator:
- Logged a message when a replication is suspended and resumed because of a
scheduled interruption;
- Fixed a NullReferenceException when a date or time field was mapped to a
constant value;
- Fixed an error when parsing Oracle REDO log strings containing TO_DATE
clauses. The parser would run a query to Oracle getting a syntax error (missing
right parenthesis);
- Resolved an issue with the refresh of a replication group when the
“insert mode” property was set to “SimulatedBulk”: after the refresh, the
last block of records was missing in the last target table of the
replications group.
|
| 5.0.0.20 |
03/05/06 |
Common:
- Modified log and trace to use a 24 hours clock;
- Added the operating system type to the trace file;
- IFixed a problem with Ritmo for iSeries that prevented the usage of
packages even if the option “use packages” was set to true;
- Added the option to provide a filter (where condition) for refresh replications
on the Preferences tab in the Replication Properties dialog;
- Added support for IBM Cloudscape;
- many-to-one replications (two source tables can be replicated to one
target table);
- Added an option to use an extended function to retrieve primary keys in
some iSeries/AS400 tables. (Tables created using DDS need this function
enabled to retrieve primary keys);
- Added a Command Timeout property to the Connection objects. Every command
created under that connection uses the Command Timeout property value to determine
the length of time to wait for a response before timing out.
Enterprise Manager:
- Improved the password editor in the Connection Properties dialog;
- Improved the main grid for the replication monitor;
- In the Create Target Table dialog and wizard, added a parser to recognize a table
name edited by the user;
- In the Create Target Table dialog and wizard, introduced a property to derive
the effective table name and add it to the main treeview;
- Fixed a problem in the Source and Target Connection wizards, where, if
some operation encountered problems in the final step, the connection was created
in memory anyway;
- Fixed a problem in the Replication wizard, where, if some operation encountered
problems in the final step, the replication was created in memory anyway;
- Introduced a test in the Install Distributor dialog when clicking on the
OK button to verify connection properties are correct;
- Introduced read-only management on groups. When the engine is running, it
is not possible to modify the group replication list;
- Introduced a property group in Connection dialogs for dynamic properties
(like Distributor properties or AS400 setup properties). These properties are
now managed as a group;
- Introduced the concept of a “pending” group: if, for a replication belonging
to a group, an enable/disable operation has been requested, the group is considered
in pending status until all the replications in the group reach the requested status,
and in that time the interface blocks any further request to enable/disable
replications in the group;
- Fixed a problem in the Replication Properties dialog. When the start time
was saved and the dialog reopened for another replication, it would show the start
time of the previous replication;
- Fixed problems occurring when migrating synchronization replications from DBMoto 4;
- Fixed a problem that occurred after migration from DBMoto 4, with iSeries/AS400
used in transactional replications, where the iSeries/AS400 table needed to be
refreshed with DateFormat values;
- Introduced read-only control on table properties in case the table is being
replicated and the engine is active. (Changing the columns CCSID didn’t take effect
on active replications).
Log Reader:
- Fixed a problem that occurred when mirroring a group containing more than 30
replications using DB2 for iSeries as a source connection;
- Introduced user control on SQL Server when Integrated Security is enabled. A
check is performed to see if the user is sysadmin;
- Fixed a problem working with the SQL Server parser when negative numbers where
read from the log;
- Fixed a problem that occurred when creating the SQL Server distributor: the
database DATA folder was not correctly retrieved if no SQL Server instance was created;
- Fixed a problem during replication, where the message “Connection property has
not been initialized” was displayed and, in some cases, Command objects were closed
even if they were still in use;
- Fixed a problem in the log reader for iSeries/AS400 where one field from the journal
was read using a GetLong function instead of a GetDecimal (the error was visible in
the driver/provider traces);
- Fixed a problem in transactional replications from iSeries/AS400 when using
double byte, sometimes data was not converted correctly;
- Fixed a problem when reading the Oracle transaction log, the ‘;’ symbol was not
correctly parsed from the SQL statement;
- Fixed a problem when reading the Oracle transaction log. When reading the last ID,
if the log file SEQUENCE# field is 0, the log file cannot be added to open the logminer;
- Fixed a problem creating a mirroring replication from SQL Server 7 where the
message “Table ‘MSRepl_commands’ not found” was reported.
Data Replicator:
- Fixed a problem with the maximum number of open cursors that occurred when using “Ritmo for iSeries”;
- Fixed a problem in “Ritmo for iSeries” with GRAPHIC and VARGRAPHIC data types;
- Fixed problem with FastLoad when target tables contain DECIMAL fields and the system
regional setting has ‘,’ (comma) as decimal separator;
- Fixed a problem replicating TIME fields when the global option "Date/time Conversion
Errors" is set to "Insert NULL values";
- Fixed a problem that caused the following error message to occur when reading an
iSeries journal: “FROM and TO values not valid. [SQLCODE: -443 SQLSTATE: 38501]”;
- Introduced a control to avoid loading replications belonging to a group when not
all replications in the group have been enabled;
- Fixed a problem where, in some cases, the request to enable a replication was not
considered by the engine.
|
| 5.0.0.18 |
01/16/05 |
Common:
- Introduced support for .NET framework 2.0;
- Introduced support for SQL Server 2005;
- Introduced two new versions of the SendMail function for use in scripts, to
specify the SMTPServer and the target recipient;
- Fixed a problem where using the enmOperationType and enmLogFields data
types in a script generated errors during compilation.
Enterprise Manager:
- In Create Target Table, fixed an anomaly when prompting the datatype, size,
precision and scale for the target table, calculated based on the source table;
- Fixed a problem where replications were not sorted alphabetically in the Replication
Monitor;
- Fixed a problem where in the connection wizards, when setting up a connection and
going back and forth with the wizard steps, the connection parameters would be
cleaned up;
- Fixed a problem in the Fields Mapping dialog when maximizing the dialog due to the
loading of the center area containing the arrows;
- Introduced new feature to allow custom automatic mapping. The user can define any
number of script functions to use when creating a replication to automatically generate
mapping between source and target fields;
- Fixed a problem when using manual CCSID settings in DB2/400 tables, when the
CCSID was first changed and refreshed back from the database;
- Fixed a problem in the Multiple Replications wizard. When creating a
replication in synchronization mode, the mapping dialog would show only the source
to target mappings;
- Fixed a problem in the Replication Wizard when creating a replication with
a DB2/400 table using a journal library name (or journal name) containing special
characters (like ‘.’).
Log Reader:
- For SQL Server, introduced an error message when the SQL Server edition
installed does not support replication;
- Fixed a problem when installing the distributor on SQL Server 2005,
the @encrypted_password parameter is not supported.
Data Replicator:
- Fixed a problem using the RRN when the table name contained special characters;
- Fixed a problem with Date and Time conversions using DB2 for iSeries as
a source database.
Set Up:
- Introduced upgrades when DBMoto is already installed.
|
| 5.0.0.17 |
12/20/05 |
Common:
- Fixed a problem when creating a connection to DB2 mainframe;
- Fixed a problem with DB2 configuration. The TIMESTAMP datatype was
indicated as TIMESTMP in the creation table.
Enterprise Manager:
- Introduced more detailed information in the trace file when running the migration
from a DBMoto 4.1 metadata;
- Fixed a problem when updating a disabled replication with the engine running. The
status would not be refreshed and the ‘Enable Replication’ popup menu would stay disabled;
- Introduced a check for platforms where metadata is not supported
(iSeries/AS400 and zOS/OS390);
- Fixed an error in the SQL Server distributor dialog. When exiting with Cancel the
changes were saved in the connection.
Log Reader:
- Fixed a problem where, creating the Distributor on SQLServer, DBMoto was always using the user sa instead of the user set in the distributor properties of the connection.
Data Replicator:
- Fixed a problem where in some cases Time data were not replicated.
Set Up:
- Fixed the Setup splash screen which reported “Beta 5 version”;
- Fixed a problem where there was an error starting the PC: “The service
DBMotoDR is not installed”. The DBMoto setup configured the DBMServiceMonitor.exe
application as a startup application even if DBMoto were not installed as a service.
|
| 5.0.0.15 |
12/15/05 |
- Redesigned the Enterprise Manager GUI, adding Object Browser, Replication
Browser and Replication Monitor and updating wizards for defining connections and
replications;
- Added Enterprise Manager support for creating multiple replications concurrently;
- Added Enterprise Manager and Replicator support for grouping replications to
run concurrently;
- Integrated the ability to manage Journals/Receivers (for replicating to
iSeries/AS400) with Enterprise Manager;
- Introduced replication properties to specify and tune up each replication
in the most convenient way;
- Added replication scheduling properties;
- Improved handling of database log information from the Enterprise Manager
(all handling of journals/transaction log/redo log info is included in the
replication properties panel);
- Improved performance during replications by:
- Optimizing the opening and reading of database logs and by filtering
only on records related to the currently active replications;
- For replication from iSeries/AS400, introduced the reading of journals
in blocks during mirroring to avoid the creation of big temporary files;
- For replication from iSeries/AS400, eliminated temp files on the
iSeries/AS400 to retrieve journal information.
- Implemented multi-threading in the Replicator engine, allowing multiple
replications to run concurrently;
- Implemented VB .NET as a scripting language to replace VBScript;
- Added failure/recovery event to start and shutdown events handled
via scripts;
- Added support for multiple sets of metadata;
- Added a metadata backup/restore function;
- Added support for saving all catalog info into the metadata,
avoiding unnecessary round trips to the database server;
- Improved support for synchronization;
- Added support for several additional databases as sources/targets
in refresh replications. The following is a complete list: Oracle, DB2/400,
Microsoft SQL Server, DB2 UDB, MySQL, GUPTA SQLBase, DB2 OS/390, Sybase ASE,
SQL Anywhere, Informix , PostgreSQL, Micrsoft Access, Ingres, Firebird
and Solid;
- Added a recovery feature during refresh;
- Added synchronization between the Enterprise Manager and the
replication engine. Now replications can be created/updated/removed
without shutting down the Replicator;
- Added support for manually setting primary keys on replicated tables;
- Eliminated the need to set up primary keys on tables replicated only
in refresh mode;
- (SQL Server) eliminated the need to have the SQL Server client
installed to set up a mirroring replication using SQL Server as source.
|
|  |
Click here
to view release notes for earlier versions of DBMoto.
|
 |
 |