数据转换冲突及转换过程中大对象的处理
2008-09-02 10:00:25 来源:WEB开发网数据转换冲突及处理
数据转换冲突:
在数据转换过程中,要想实现严格的等价转换是比较困难的。必须要确定两种模型中所存在的各种语法和语义上的冲突,这些冲突可能包括:
(1)命名冲突:源数据源的标识符可能是目的数据源中的保留字。
(2)格式冲突:同一种数据类型可能有不同的表示方法和语义差异。
(3)结构冲突:如果两种DBMS之间的数据定义模型不同,如为关系模型和层次模型,则需要重新定义实体属性和联系,以防止属性或联系信息的丢失。
(4)类型冲突:不同数据库的同一种数据类型存在精度之间的差异。
(5)其他冲突:不同数据库的大对象类型存在不同的约束,而且存在一些特殊类型。如SQL SERVER中一个表中有多于一个TEXT或IMAGE的字段时,出现错误。而ORACLE也不允许一个表中的BLOB和LONG类型多于一个。
冲突处理方法:
对于以上数据转换中的冲突,可进行相应的冲突处理。
对于命名冲突,可以先检查数据源中的保留字,建立保留字集合,对于保留字中的命名冲突,根据需要重新命名。
对于格式冲突,可以根据ODBC SQL类型从数据源的驱动程序中取出相对应的数据源的数据类型后,对一些特定的类型进行特殊的处理。对于字符型数据中含有“’”字符的情况,在数据转换过程中需通过转义符作特殊处理,否则会把它误当作字符串分隔符。
对于不同数据库的同一数据类型的精度冲突,类型转换中将ODBC SQL类型和精度结合起来决定源数据类型和目标数据类型的映射关系。找出目的数据源中与源数据源类型的精度最匹配的数据类型作为缺省的映射关系。
转换过程中的数据类型匹配,日期型数据最好先转换成字符型,然后根据不同的目标数据源分别作不同的处理。如ORACLE中使用TO_DATE函数,而FOXPRO中使用CTOD函数将日期格式的字符串转换成日期。
- ››数据库大型应用解决方案总结
- ››数据结构2--数组
- ››数据源架构模式的活动记录
- ››数据结构C#版线性表(Data Structure)之单链表(Lin...
- ››数据结构C#版线性表(Data Structure)之顺序表(顺序...
- ››数据就是利润:在欧洲两端,IBM Information Cham...
- ››数据架构师: 您要治理什么?
- ››数据驱动的网络营销和网站运营笔记
- ››数据点:Windows Azure 表存储:不同于传统数据库...
- ››数据医生:Alamance Regional Medical Center 通过...
- ››数据显示iPhone 4销售业绩不及Android手机
- ››数据仓库中复杂报表SQL语句写法
更多精彩
赞助商链接