我的项目正在进行技术升级,因此我们将 Oracle DB 从 11g 升级到 12c。SAP DataServices 升级到版本 14.2.7.1156。
Oracle 12C 中的表在应该为 varchar (char) 时默认为 varchar (byte)。我明白这是正常的。因此,我更改了每个正在运行的数据存储的会话
`ALTER session SET nls_length_semantics=CHAR;`
当我使用 varchar (1) 创建一个新表时,我可以从 Oracle 将 unicode 字符(如中文字符(即东))加载到新表中。
但是,当我尝试通过 SAPDS 将相同的 unicode 字符加载到同一个表中时,它会抛出一个错误“ORA-12899 - value too large for column”。我的数据存储设置是:
Locale
Language: default
Code Page: utf-8
Server code page: utf-8
Additional session parameters:
ALTER session SET nls_length_semantics=CHAR
由于我的 Oracle 似乎工作正常,我非常希望知道我需要在我的 SAP BODS 中更改哪些设置。