我在SQL 2005的一个数据库的一张表里将一个字段定义成Decimal,然后将这个数据库利用SQL 2005的DTS导入到oracle9i里,导的过程中,发生错误。我看了一下,好像是因为oracle里没有Decimal这种数据类型,所以产生不兼容,不知道我分析的对不对。是不是SQL SERVER 2005和oracle有很多数据类型都是不兼容的?

解决方案 »

  1.   

    楼主说的很对,根据实际需要将sqlserver的数据类型换成oracle的数据类型
      

  2.   

    建议使用工具,别人都处理过的东西,那里用多好。要实时的使用拿来主义。呵呵。
    mssql-to-oracle以前导过sql2k,挺方便,没有导过sql2005
      

  3.   

    To everyone:
    产生的错误信息如下(没法截图):错误0xc002f210:准备SQL任务:执行查询“Create Table "HD" (
    "IPS_ID" NUMBER(10,0) NOT NULL,
    "size" NVARCHAR2)”
    失败,错误如下:“ORA-00906缺少左括号”。失败的原因可能有:查询本身问题、为正确设置“ResultSet”属性、未正确设置参数或未正确建立连接。以上是错误信息。
    说明:表HD中的IPS_ID本来是Decimal数据类型,SQL SERVER 2005自动将其转换为NUMBER,我搞不清楚错误到底是不是由于发生数据类型转换而引起的?
      

  4.   

    在此非常感谢oracledbalgtu,我刚下了你说的那个工具,用起来太爽了,也能导2005的。谢谢大家。
      

  5.   

    select a.*,b.deptName from chen_xstotal a join pub_dept_v b on a.pid=b.deptID