|
|
|
 |
  |
 |
|
DBMoto v6 Release
Notes
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
|
| 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.
|
 |
 |