暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

OGG字符集由AL32UTF8到ZHS16GBK

原创 2022-11-24
1145

OGG过程,字符集由AL32UTF8到ZHS16GBK时,两边都设定ZHS16GBK后,目标端配置文件需加参数:HAVEUDTWITHNCHAR。下面比较其他几个参数关系:

1.SOURCECHARSET ZHS16GBK

适用范围:replicat

解释说明:使用SOURCECHARSET参数控制数据从源字符集到Replicat的目标字符集的转换。

使用语法:SOURCECHARSET {source charset PASSTHRU OVERRIDE} [DB2ZOS]

2.SETENV (NLS LANG="AMERICAN AMERICA.ZHS16GBK")

适用范围:extract and replicat

解释说明:使用SETENV参数设置环境变量的值。当Extract或Replicat启动时,它使用指定的值,而不是在操作系统环境中设置的值。

SETENV语句中的变量集将覆盖在操作系统级设置的任何现有变量。每个变量使用一个SETENV语句来设置。

适用语法:SETENV({environment variable l GGS CacheRetryCountGGS CacheRetrvDelav} ='value’)

3.HAVEUDTWITHNCHAR

适用范围:replicat

解释说明:当源数据包含具有NCHAR,NVARCHAR2或NCLOB属性的用户定义类型时,请使用AVEUDTWTTHNCHAR参数。

当跟踪中遇到此数据时,HAVEUDTWITHNCHAR会导致Replicat连接到AL32UTF8中的Oracle目标,这在用户定义的数据类型包含其中一个属性时是必需的。

如果目标的字符集为AL32UTF8,则不需要HAVEUDTWITHNCHAR。 但是,只有NLS LANG设置为目标上的AL32UTF8才需要。

默认情况下,Replicat将忽略NLS_LANG并连接到数据库本机字符集中的Oracle数据库。

Replicat使用不支持NCHAR,NVARCHAR2或NCLOB属性的Oracle调用接口的0CIString对象,因此Replicat必须将其绑定为CHAR。
在这种情况下,连接到AL32UTF8中的目标可以防止数据丢失。

必须在参数文件中的USERID或USERIDALIAS参数之前指定HAVEUDTWITHNCHAR。

使用语法:HAVEUDTWITHNCHAR

4.REPLACEBADCHAR

适用范围:extract and replicat

解释说明:当映射字符类型列时,在源或目标字符集中不存在有效代码点时,可使用REPLACEBADCHAR参数来控制进程的响应。

默认情况下,仅在源和目标数据库具有不同的字符集时执行无效代码点的检查,并且默认响应将被拒绝。

当源数据库和目标数据库具有相同的字符集时,可以使用FORCECHECK选项强制进程检查无效的代码点。

REPLACEBADCHAR适用于全局变量。

使用语法:REPLACEBADCHAR{ABORTSKIPESCAPE|SUBSTITUTE string| NULL| SPACE} [FORCECHECK] [NOWARNING]

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论