主要是字段定义上,我不知道dbase中,对应的字段类型名是什么? 如果你知道的话,可以加如下的语句: when b.name in('numeric','decimal')   --表示是对那种SQL中的数据类型进行转换
then 'numeric('                       --numeric是对应dbase中的数据类型名
+cast(a.prec as varchar)+             --字段长度
','+cast(a.scale as varchar)+')'      --小数位数
else b.name end                       --在这前面加

解决方案 »

  1.   

    sql中数值型的长度是9个字节,而dbase中数值型的长度是8个字节。可能是因为这个原因。如果是vfp中dbase建表语法和sql差不多:
    CREAT TABLE (C:\temp) (msdm C(10) ,flh C(30)  ,sl N(18,2))
    可是我还是不知道怎么解决:)
      

  2.   

    我那个方法生成的是dbase的数据库,不是vfp的,r所以得知道dbase的数据类型
      

  3.   

    奇怪!把存储过程中的 dbase 5.0改为 dBASE III 、dBASE IV 都可以正常导出,就是 dbase 5.0不能!