我正在尝试整合一些数据库,但我在使用 CHARACTER Sets 时遇到了一些问题。
我的数据库如下所示:
源数据库
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
NLS_CHARACTERSET WE8ISO8859P1
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_LENGTH_SEMANTICS BYTE
目标数据库
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
NLS_CHARACTERSET AL32UTF8
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_LENGTH_SEMANTICS BYTE
我导出了一个模式,但是当我导入新数据库时,我遇到了很多错误,例如:
ORA-02374: conversion error loading table owner.table_name
ORA-12899: value too large for column col_name (actual: 403, maximum: 400)
我已经运行了csscan实用程序。结果如下:
TABLE Convertible Truncation Lossy
------ ------------- ------------- ------------
1 0 18 24
2 2,248 120 19,854
3 2,155 120 19,551
4 5,431 294 41,531
5 5,925 114 18,352
6 129 4 5,095
7 109 4 5,017
8 2,149 151 5,219
------ ------------- ------------- -------------
那么,有什么方法可以在导入前找出目的地中 VARCHAR2 的值?我可以改变表格的结构。在我们的示例中,我可以更改我的表并将列的大小从 400 修改为 403。
如果您需要更多信息或其他任何信息,请发表评论。
提前致谢!