Installation
- How should I install SyncTables on Windows 2000?
Your Windows 2000 OS should have at least Service Pack 4 installed (you can obtain
it from: this link).
If you have Internet Explorer 5.01 or greater installed, the SyncTables setup
should run without problems.
If you only have Internet Explorer 5.0, you will have either to upgrade to a more
recent version of Internet Explorer (available at: this link).
If you don't want to upgrade, you will need to install the .NET Framework manually
before running the setup. In order to do this, first you must install Windows Installer
3.1 (from: this link)
and then you need to install the .NET Framework redistributable (available here:
this link).
Then you should run the SyncTables setup.
Database connection
- What database types are supported? What versions?
SyncTables supports:
- MySQL version 4.1 and 5.0; for tunneling, PHP 4.4 or greater is required
- Microsoft SQL Server 2005
- Microsoft Access 2003 and 2007
- I receive the following error: "Could not connect
to MySQL server. Client does not support authentication protocol requested by server;
consider upgrading MySQL client". What should I do?
This error occurs when your PHP server uses older MySQL client libraries. Here is
an article that explains the cause of the problem and gives several solutions: http://dev.MySQL.com/doc/refman/5.0/en/old-client.html
- Why can't I synchronize SQL Server to SQL Server,
or Access to Access?
This feature is planned for the future. If you are interested in this feature please send a feature request on the contactpage.
Copy & Synchronize
- What is the format of the SYNC files?
SyncTables uses standard XML files for storing the session configuration. You
can edit these files using an XML editor, or a simple text editor. The XSD schema
used by these files is available here.
- How can I find out which version of SyncTables
I am using?
Start SyncTables user interface, go to Help / About. The About dialog will show
you the version of SyncTables you are running.
- How does the synchronization happen more exactly?
To find out more details about the synchronization process, you can view a
diagram here from
your browser. It describes all the synchronization operations in a flowchart.
- How are the data types mapped from one database
type into another?
For details related to how a data type is mapped when converting between two different
databases, take a look at these
conversion tables containing all the type mappings.
- What is the difference between Copy Complete
and 1 Way Sync modes?
Copy Complete does a full data transfer, and completely replaces the table in the
destination database with the one in the source database. Any changes in the table
structure are transferred as well.
1 Way Sync does only a partial data transfer, by copying only the rows that have
changed in the source database since the last synchronization. This works much faster
than Copy Complete, but it has some restrictions - see below
- What should I do to be able to perform 1 Way
Sync with my databases?
Here are the conditions for 1 Way Sync to work properly:
- The synchronized tables must have a primary key and a date-time field containing
the moment when each particular row has been modified. It is up the user to ensure
that these conditions are respected.
- The source and destination tables must have the same fields, and they must be of
compatible types. If the fields are different (for example, after an update to the
structure of the source database), then the transfer will fail - unless the user
configures the option "Do Copy Complete on SQL error", in which case a Copy Complete
is performed instead.
- I have a database containing text that does not
use Latin characters - will the synchronization preserve the text correctly?
SyncTables uses UTF-8 / Unicode internally, and connects to the databases also
in UTF-8 / Unicode, which means the characters are definitely preserved during the
data transfers.
There is one case in which the characters may not be preserved correctly - when
performing a 1 Way Sync between two tables that use different characters sets (non
Unicode). SyncTables will transfer the source text correctly, but the destination
table will not be able to save all the characters as in the original text. This
is not a problem for Copy Complete, because Copy Complete re-creates the destination
table with the UTF-8 character set, which means it will be able to hold any text,
regardless of the source character set.
PHP-tunnel
- PHP tunnel does not work at all. How can I see
what errors occur?
Sometimes the PHP tunnel might return errors that are blocked before reaching SyncTables
- in this case you will be informed that there was an error, but you will not be
able to see what the actual error message was.
- To enable the detailed log file, create a file called "synctables.log" in the same directory on your webserver as "synctables.php" and give write permissions to it. A detailed log of all actions happening in the PHP file will be written to the file.
- Another way of debugging is to install
Fiddler 2 from here: http://www.fiddler2.com/fiddler2/version.asp
Start Fiddler before connecting to the tunnel, and you will be able to see, in Fiddler,
the entire conversation between SyncTables and PHP.
- PHP tunnel communication - HTTP headers are broken
and contain the error "character set '#33' is not a compiled character set"
This issue can sometimes occur when MySQL has been configured using the automatic
configuration tool. What you need to do is to look in the "my.ini" file from the
MySQL program folder, and check if the following line (the "..." will be an actual
character set):
default-character-set= ...
appears twice in the file. If it does, remove the last occurrence (to keep only
one), and restart the MySQL service.
Batch-Scripts
- How can I automate SyncTables to run the synchronization
periodically?
SyncTables supports using the Task Scheduler in Windows, and it can automatically
create a new task for you. Start SyncTables user interface, configure the synchronization
parameters, and, in the last page (Save), save your session then click "Schedule
Session Using Windows Scheduler". This will create a new scheduler task, and will
display the configuration dialog.
In that dialog, you will have to configure:
- In the Task tab, you should provide the credentials for the user account under
which you want the synchronization to run; pay attention when doing this in with
SQL Server configured with Windows Authentication - the configured user account
should be able to access the SQL Server database. Alternatively you can check "Run
only if logged on", in which case you don't need to provide any credentials.
- In the Schedule tab, you should create a new schedule and configure it to run whenever
you need to.
After the task is saved, it should automatically run according to the schedule.
The log file will be generated in the same folder where you've saved your SyncTables
session.
- How can I run SyncTables from a BAT file?
You need to add a line in the BAT file, containing the full path to the synctables.exe
executable and the full path to your session file; use quotes if any of the paths
contain spaces. For example:
"C:\Program Files\SyncTables\synctables.exe" c:\MySession.sync
If the synchronization is completed successfully, the ERRORLEVEL variable will be
set to 0, otherwise it will have a value different from zero. This is good to know
if you have a more complex BAT file, with conditional actions and so on.
Trialversion & Buying
- What are the limitations of the trial version?
Version 1.0 is a fully functional version. Version 1.0 expires on September 1st 2008. Version 1.1 will be available in August.
- What should I do to get the registered version?
A registered version will be available in August 2008. Version 1.0 is downloadable now and functional without limitation.
- Where should I report errors and other problems?
Use the form on the contactpage to send us anything regarding SyncTables.