Page 1 of 1

Unicode script output with dbForge Schema Compare

Posted: Thu 08 Sep 2011 21:12
by vzayas
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.

Reposting commands used

Posted: Fri 09 Sep 2011 14:29
by vzayas
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"

Posted: Fri 09 Sep 2011 14:44
by .jp
Thanks. We are investigating the problem and we'll inform you as soon as any result is available.