Article - CS198716

Migration from Oracle to MS SQL Server fails with error "Columns "<_old_xxx>" and "<xxx>" cannot convert between unicode and non-unicode string data types" in Windchill PDMLink 12.1

Modified: 06-Feb-2024   


Applies To

  • Windchill PDMLink 10.0 to 11.1
  • Windchill PDMLink 12.1

Description

  • Migration from Oracle to MS SQL Server fails in code line
Oracle_SQLServer_Dynamic_Mig.SSISPackage.execPackage():565
with error
Columns "<_old_xxx>" and "<xxx>" cannot convert between unicode and non-unicode string data types
for the following four columns:
- WTKEY
- CLASSNAMEKEYNAMESPACEREFEREN
- CLASSNAMEA2A2
- CLASSNAMEKEYA4
  • Datatypes on Oracle source and MS SQL target:
- WTKEY (Oracle 11GR2 source: VARCHAR2 1275, MS SQL target: NVARCHAR 425)
- CLASSNAMEKEYNAMESPACEREFEREN (source: VARCHAR2 600, MS SQL target: NVARCHAR 200)
- CLASSNAMEA2A2 (source: VARCHAR2 600, MS SQL target: NVARCHAR 200)
- CLASSNAMEKEYA4 (source: VARCHAR2 600, MS SQL target: NVARCHAR 400)
  • select * from v$nls_parameters where parameter like ('%CHARACTER%');
    It returns (on source Oracle database)
PARAMETER
----------------------------------------------------------------
VALUE
----------------------------------------------------------------
NLS_NUMERIC_CHARACTERS
NLS_CHARACTERSET
WE8MSWIN1252
NLS_NCHAR_CHARACTERSET
AL16UTF16
This is a printer-friendly version of Article 198716 and may be out of date. For the latest version click CS198716