无论是否开启兼容模式,进行迁移之后,二者的数据都是相同的
原因是因为在oracle端插入数据‘’(空串)时会自动转换成null,在进行dts迁移时也会把null迁移到DM中,但是在DM里可以存的进‘ ’
在迁移过程本身不会出现问题,但是在后边的使用中,会出现二者读取不一致的情况
| 测试目的 | 测试不开启对oracle兼容的情况下,迁移后对于null、单引号’’是否有区别 |
|---|---|
| 测试步骤<br> | 查看当前数据库是否开启兼容模式<br>COMPATIBLE_MODE=0→没开<br> <br>在oracle中创建表并插入要测试的数据并查看输出<br> <br>迁移到DM数据库<br> <br> <br> <br> <br> <br> |
| 测试结果<br> | <br>![]() |
|---|
| 测试目的 | 测试开启对oracle兼容的情况下,迁移后对于null、单引号’’是否有区别 |
|---|---|
| 测试步骤 | 修改COMPATIBLE_MODE参数值为2 兼容oracle模式<br><br> <br>重启数据库后进行查看当前参数的值<br><br> <br> <br>在oracle创建新表 T_NULL_TEST_MODE_2与刚才内容一致<br><br> <br>进行迁移<br><br> <br><br> <br><br> <br><br> <br><br> <br> |
| 测试结果 | <br> <br> <br> |
为防止由于时是dts的原因导致,所以在两个数据库都分别再插入5条相同的数据


①SELECT * FROM T_NULL_TEST_MODE_2 WHERE CHAR_1=’ ’;


②SELECT * FROM T_NULL_TEST_MODE_2 WHERE CHAR_1 IS NULL;


③在兼容模式为COMPATIBLE_MODE=0时插入数据
INSERT INTO T_NILL_TEST_MODE_2 VALUES(11, ‘’, ‘x’, NULL,NULL);
进行查看发现不会输出这条新插入的数据

这里可以证明id=2的NULL数据是由于DTS迁移过来的
https://eco.dameng.com
文章
阅读量
获赞
