I'm evaluating the use of this product with Version 2.0.77 (latest at this time).
When running thru the command line, the sync script it generates is being created
in UTF-16 Little Endian encoding instead of ASCII.
My target database is oracle 11gR2 in a Linux 64bit server.
Both databases being compared have an NLS_CHARACTERSET value of WE8ISO8859P1.
My client system is running
Windows XP with the matching full oracle client (11gR2). The client (windows) NLS_LANG value
(from the registry) is: AMERICAN_AMERICA.WE8MSWIN1252. This is not being overwritten
by an environment variable.
The command line statement used to generate the comparison script is the following:
"C:\Program Files\Devart\dbForge Schema Compare for Oracle\schemacompare.com" /schemacompare /IgnoreForeignKeys:No /UseSchemaNamePrefix:Yes /IgnorePermissions:No /IsForceCreateObjects:No /RebuildSequences:No /PurgeRecycleBin:No /IgnoreCase:No /IgnoreComments:No /IgnoreWhiteSpace:Yes /IgnoreCommentObjects:No /IgnoreInvalidObjectsFromSource:No /IgnorePartitions:No /IgnoreTablespaces:No /IgnorePhysicalAttributes:No /IgnoreStorageClause:No /EnableTableLock:No /IgnoreColumnDefaultValues:No /IsCompareWrappedVsUnwrapped:No /EnableNoValidate:No /AddRecompileDependantsScript:No /IgnoreConstraintsNames:No /ForceColumnOrder:No /PurgeRecycleBin:No /RestoreSessionParameters:No /UseSchemaNamePrefix:No /ExcludeDependencies:No /source connection:"User Id=abc;Password=;Server=DEV;Pooling=False" /target connection:"User Id=abc;Password=;Server=UAT;Pooling=False" /schemas:abc,abc /Sync:"..\abc\abc_dev_to_uat_sync.sql" /log:"..\abc\abc_dev_to_uat_sync.log"
I also tried the direct connection equivalent:
"C:\Program Files\Devart\dbForge Schema Compare for Oracle\schemacompare.com" /schemacompare /IgnoreForeignKeys:No /UseSchemaNamePrefix:Yes /IgnorePermissions:No /IsForceCreateObjects:No /RebuildSequences:No /PurgeRecycleBin:No /IgnoreCase:No /IgnoreComments:No /IgnoreWhiteSpace:Yes /IgnoreCommentObjects:No /IgnoreInvalidObjectsFromSource:No /IgnorePartitions:No /IgnoreTablespaces:No /IgnorePhysicalAttributes:No /IgnoreStorageClause:No /EnableTableLock:No /IgnoreColumnDefaultValues:No /IsCompareWrappedVsUnwrapped:No /EnableNoValidate:No /AddRecompileDependantsScript:No /IgnoreConstraintsNames:No /ForceColumnOrder:No /PurgeRecycleBin:No /RestoreSessionParameters:No /UseSchemaNamePrefix:No /ExcludeDependencies:No /source connection:"User Id=abc;Password=;Server=;Pooling=False;Direct=True;Sid=DEV;Port=1521;Unicode=False" /target connection:\User Id=abc;Password=;Server=;Pooling=False;Direct=True;Sid=UAT;Port=1522;Unicode=False /schemas:abc,abc /Sync:"..\abc\abc_dev_to_uat_sync.sql" /log:"..\abc\abc_dev_to_uat_sync.log"
Regardless of whether I specified Unicode=False or left out the parameter, the results where the same.
The resulting encoded sync file fails within sql because of the UTF-16 encoding:
SP2-0042: unknown command " ¦ " - rest of line ignored.
Unicode script output with dbForge Schema Compare
Reposting commands used
The forum doesn't display long lines well. I'm reposting the two command lines I used for the schema comparision (with some blank lines) so that they are all visible...
The command line statement used to generate the comparison script is the following (this is in a single line):
"C:\Program Files\Devart\dbForge Schema Compare for Oracle\schemacompare.com" /schemacompare
/IgnoreForeignKeys:No /UseSchemaNamePrefix:Yes /IgnorePermissions:No /IsForceCreateObjects:No
/RebuildSequences:No /PurgeRecycleBin:No /IgnoreCase:No /IgnoreComments:No /IgnoreWhiteSpace:Yes
/IgnoreCommentObjects:No /IgnoreInvalidObjectsFromSource:No /IgnorePartitions:No /IgnoreTablespaces:No
/IgnorePhysicalAttributes:No /IgnoreStorageClause:No /EnableTableLock:No /IgnoreColumnDefaultValues:No
/IsCompareWrappedVsUnwrapped:No /EnableNoValidate:No /AddRecompileDependantsScript:No
/IgnoreConstraintsNames:No /ForceColumnOrder:No /PurgeRecycleBin:No /RestoreSessionParameters:No
/UseSchemaNamePrefix:No /ExcludeDependencies:No
/source connection:"User Id=abc;Password=;Server=DEV;Pooling=False"
/target connection:"User Id=abc;Password=;Server=UAT;Pooling=False"
/schemas:abc,abc /Sync:"..\abc\abc_dev_to_uat_sync.sql" /log:"..\abc\abc_dev_to_uat_sync.log"
I also tried the direct connection equivalent (this is in a single line)
"C:\Program Files\Devart\dbForge Schema Compare for Oracle\schemacompare.com" /schemacompare
/IgnoreForeignKeys:No /UseSchemaNamePrefix:Yes /IgnorePermissions:No /IsForceCreateObjects:No
/RebuildSequences:No /PurgeRecycleBin:No /IgnoreCase:No /IgnoreComments:No /IgnoreWhiteSpace:Yes
/IgnoreCommentObjects:No /IgnoreInvalidObjectsFromSource:No /IgnorePartitions:No /IgnoreTablespaces:No
/IgnorePhysicalAttributes:No /IgnoreStorageClause:No /EnableTableLock:No /IgnoreColumnDefaultValues:No
/IsCompareWrappedVsUnwrapped:No /EnableNoValidate:No /AddRecompileDependantsScript:No
/IgnoreConstraintsNames:No /ForceColumnOrder:No /PurgeRecycleBin:No /RestoreSessionParameters:No
/UseSchemaNamePrefix:No /ExcludeDependencies:No
/source connection:"User Id=abc;Password=;Server=;Pooling=False;Direct=True;Sid=DEV;Port=1521;Unicode=False"
/target connection:\User Id=abc;Password=;Server=;Pooling=False;Direct=True;Sid=UAT;Port=1522;Unicode=False
/schemas:abc,abc /Sync:"..\abc\abc_dev_to_uat_sync.sql" /log:"..\abc\abc_dev_to_uat_sync.log"
The command line statement used to generate the comparison script is the following (this is in a single line):
"C:\Program Files\Devart\dbForge Schema Compare for Oracle\schemacompare.com" /schemacompare
/IgnoreForeignKeys:No /UseSchemaNamePrefix:Yes /IgnorePermissions:No /IsForceCreateObjects:No
/RebuildSequences:No /PurgeRecycleBin:No /IgnoreCase:No /IgnoreComments:No /IgnoreWhiteSpace:Yes
/IgnoreCommentObjects:No /IgnoreInvalidObjectsFromSource:No /IgnorePartitions:No /IgnoreTablespaces:No
/IgnorePhysicalAttributes:No /IgnoreStorageClause:No /EnableTableLock:No /IgnoreColumnDefaultValues:No
/IsCompareWrappedVsUnwrapped:No /EnableNoValidate:No /AddRecompileDependantsScript:No
/IgnoreConstraintsNames:No /ForceColumnOrder:No /PurgeRecycleBin:No /RestoreSessionParameters:No
/UseSchemaNamePrefix:No /ExcludeDependencies:No
/source connection:"User Id=abc;Password=;Server=DEV;Pooling=False"
/target connection:"User Id=abc;Password=;Server=UAT;Pooling=False"
/schemas:abc,abc /Sync:"..\abc\abc_dev_to_uat_sync.sql" /log:"..\abc\abc_dev_to_uat_sync.log"
I also tried the direct connection equivalent (this is in a single line)
"C:\Program Files\Devart\dbForge Schema Compare for Oracle\schemacompare.com" /schemacompare
/IgnoreForeignKeys:No /UseSchemaNamePrefix:Yes /IgnorePermissions:No /IsForceCreateObjects:No
/RebuildSequences:No /PurgeRecycleBin:No /IgnoreCase:No /IgnoreComments:No /IgnoreWhiteSpace:Yes
/IgnoreCommentObjects:No /IgnoreInvalidObjectsFromSource:No /IgnorePartitions:No /IgnoreTablespaces:No
/IgnorePhysicalAttributes:No /IgnoreStorageClause:No /EnableTableLock:No /IgnoreColumnDefaultValues:No
/IsCompareWrappedVsUnwrapped:No /EnableNoValidate:No /AddRecompileDependantsScript:No
/IgnoreConstraintsNames:No /ForceColumnOrder:No /PurgeRecycleBin:No /RestoreSessionParameters:No
/UseSchemaNamePrefix:No /ExcludeDependencies:No
/source connection:"User Id=abc;Password=;Server=;Pooling=False;Direct=True;Sid=DEV;Port=1521;Unicode=False"
/target connection:\User Id=abc;Password=;Server=;Pooling=False;Direct=True;Sid=UAT;Port=1522;Unicode=False
/schemas:abc,abc /Sync:"..\abc\abc_dev_to_uat_sync.sql" /log:"..\abc\abc_dev_to_uat_sync.log"