Licensing Questions
|
Q1.
I need to try IBReplicator, but a license is required .. where I can I get the evaluation license?
|
A. When you install the Replication Manager on Windows, a readme.txt is created in the IBReplication Manager directory,
this readme.txt includes the instructions for installing an Evaluation License
INSTALLATION OF EVALUATION LICENSE
==================================
After creation of the Configuration Database, license keys need to be installed
before the software will work.
EVALUATION LICENSE:
===================
Run the Replication Manager and connect to your configuration database.
Select the Menu Item TOOLS|LICENSE MANAGER
Enter 'EVAL' as a license key. This will generate a 14 day license
|
|
Q2.
I have IBReplicator 2.x Server Lite installed on my laptop. My bi-directional replication worked fine
when I had Firebird 1.5. Now that I have Firebird 2 I get a replication error:
Licensing Error: Replication Lite may not Replicate between two remote databases
But only the remote server is remote. On my laptop, the connection is local.
|
A. The Lite license is not about what protocol is used, but about usage. It was a reduced-price option in versions
2.x, specifically for single-user usage. On a Firebird 2 server, the new XNET local protocol implementation enables the
licensing code to detect when Replicator is connecting to a full Firebird server. That usage is correctly denied, as a
violation of the Lite licensing terms. It allows connection to an Embedded server only.
If you were using the Lite licence previously with a full server and you need to retain that capability, you should contact
IBPhoenix to obtain a fresh key to upgrade to a full server licence. Lite licences are not offered for IBPReplicator 3.
|
|
Configuration/Setup
|
Q3.
I am setting up bi-way replication and it seems to keep bouncing transactions back and forth.
|
A. Make sure that in each TARGET db of your schema you set the username as "REPL". Also, have a REPL user
created in Firebird/Interbase on both systems.
The replication will only happen one way with this configuration. For example, you have one schema defined using IB Repl
Manager as 'local2remote' and the TARGET db defined in this schema is our remote DB. In the target schema settings we have
"REPL" as the username with the password as defined on the remote DB. Another schema defined as 'remote2local'. We do
the same as mentioned above but in this case the TARGET is our local DB. The target here also has "REPL" for the
username. The order in which these schemata are created is the order they will fire for replication. The local2remote schema is
defined first and that is why the local to remote changes get sent first.
|
|
Q4.
Error message: Cound not create objects in database "source". Both primary key and data columns must be defined for all tables
involved before system objects can be created.
|
A. To replicate a table, it must have both primary keys and data fields.
|
|
Q5.
I have set up timestamp-based replication and I am always gettting update conflict messages even if the timestamp field in the
target database has an earlier value than in the source database.
|
A. You must include the timestamp field in the list of replicated fields.
|
|
Q6.
How does time stamped conflict resolution work?
|
A.When time stamped based conflict resolution is activated, UPDATE queries have an additional condition: '... AND
TimeField <= ?'. i.e. it can update only records with lesser values. If, as result, no records are updated, an INSERT is
tried. If it fails also, ReplServer concludes that the record exists with a
newer timestamp and stops trying to UPDATE/INSERT for that record.
|
|
Environment (Programs, Network, Services)
|
Q7.
Using Firebird 1.5, and IBReplicator 1.5.x we see the following error:
ErrorNo: 44 - Dynamic SQL Error
-SQL error code = -804
-SQLDA missing or incorrect version, or incorrect number/type of variables
An error was found in the application program input parameters for the SQL
statement.
|
A.
In firebird.conf change the following configuration parameter from:
#OldParameterOrdering = 0
To:
OldParameterOrdering = 1
|
|
Q8.
I have Firebird/InterBase and the Replicator Server installed as services that automatically start when my XP system starts.
However on startup I get the following system error, "IBReplication Service has encountered a problem and needs to
close".
|
A. This problem is caused because there is currently no service dependency defined between InterBase/Firebird and the
Replication Server in Services. So when the Replication Server tries to start, it can't read the configuration database,
because InterBase/Firebird hasn't properly started yet.
To correct this problem...
Run IBReplicator Configure Services, remove Replication Server,
Click Dependent on InterBase/Firebird Server and then install.
|
|
Q9.
How can I stop and start replication directly from my application?
|
A.
To stop and start the replication server from an application all you need to do is talk to the stored procedure called
repl$notify in the configuration database:
CREATE PROCEDURE REPL$NOTIFY
(THETYPE INTEGER)
AS
DECLARE VARIABLE EVENT VARCHAR(20);
BEGIN
IF (THETYPE = 1) THEN
POST_EVENT 'RELOAD';
ELSE IF (THETYPE = 2) THEN
POST_EVENT 'REPLNOW';
ELSE IF (THETYPE = 4) THEN
POST_EVENT 'EXITNOW';
ELSE IF (THETYPE = 7) THEN
POST_EVENT 'REPLSTATS';
END
Sample Delphi code:
Procedure ReplicateNow;
Begin
MyDatabase.StartTransaction;
with TStoredProc.Create(Self) do
Begin
DatabaseName := 'SomeDB';
StoredProcName := 'repl$notify';
Prepare;
Params[0].AsInteger := 2; //Causes Server to replicate
ExecProc;
Free;
End;
MyDatabase.Commit;
End;
Or
ISQL> EXECUTE PROCEDURE REPL$NOTIFY (2);
|
|
Q10.
Error connecting to RAS server (date & time)
ErrorCode=623, ErrMessage=The system could not find the phone book entry for this connection.
|
A. Make sure you have RAS configured with the correct 'name' you are using from the Windows 2000 dialup connections in
IBReplManager. Go to the DATABASES tab and configure RAS for the database if it is not configured already. The error message
looks like the wrong dialup connection data in the configuration (Note it is case sensitive.) Also, set 'keep connection' to
FALSE on RAS to make it work properly.
|
|
Q11.
I'm in the process of replicating to companies, linked by a VPN,
both servers behide a firewall. Which port/s do I need to open?
|
A. Port 3050.
|
|
Q12.
One of our remote sites replicates to the hub across a dial-up connection. It seems that the main server freezes up completely
for the main application users while the replication is going on. Is this normal?
|
A. It is normal if the client applications are using transaction settings that conflict with those of the Replicator's
transaction. Replication uses Concurrency (Snapshot Repeatable Read) isolation with NO WAIT lock resolution. Unfortunately, a
lot of user applications, especially those written in Delphi or .NET environments, use transaction defaults that are guaranteed
to cause blocking situations on a WAN. For example, the default settings of the Firebird/InterBase .NET Provider are
Read-Write, Wait, Read Committed, No Record Version, about the worst possible settings you could have for a networked
application.
|
|
Q14.
Cannot run ReplServer as a service on Windows, error 2: File not found.
|
A.Windows is misinterpreting the service return code. ReplServer returns a 2 after a
unrecoverable error. Check the replication log for the real error message.
|
|
Q15.
Service doesn't run on Windows 2008/Vista/Seven because the default configuration is not set.
|
A. Set your configuration as the default one under elevated user rights. Then use "Run as
Administrator" from Windows Explorer context menu to run the Replication Manager.
|
|
Q16.
I have installed the 64bit Replication Server and the 32bit Replication Manager on a x64 Windows server.
My problem is that I cannot start the Replication service because it fails with the error message (Error 2:The system cannot find the file specified). If i run ReplServer.exe as a Windows application I can execute the replication.
|
A.The 32bit Replication Manager cannot set the default configuration for 64bit Replication Server
(this will be fixed in the next version).
To set the default configuration for 64bit Replication Server, run the 64bit cfged with elevated rights ("As Administrator" from shortcut context menu) and set the default config from there. Open a configuration and then set it as default.
|
|
Utilities
|
Q13.
Is there a method for copying the contents of one database's tables to another?
|
A. There is: In Replication Manager: Replication -> Default Settings -> General - Synchronization. Allows you to
synchronize two databases by emptying a target and filling it with data retrieved from a source database or vice-versa if
reverse synchronization is selected. Use synchronization to populate a new empty target database, or one which has been
restored from backup.
-- If you need to synchronize databases ensure that the Enabled check box is checked.
-- If a target database has been off-line there is no need to use synchronization as the Replicator will catch up with the
outstanding backlog of changes.
|
|