我原来想可能要借助ODBC,可我不知道怎样实现

解决方案 »

  1.   

    其实,Delphi自带的Data Pump就是一个最好的实例。
      

  2.   

    建议使用PowerDesign的。
    不过得注意一下。
    1.ACCESS的数据库中的自动编号类型在转化时,sql server并没有将它设为自动编号型,我们需在SQL创建语句中加上identity,表示自动编号! 
    2.转化时,跟日期有关的字段,SQL SERVER默认为smalldatetime型,我们最好将它变为datetime型,因为datetime型的范围比smalldatetime型大。我遇见这种情况,用smalldatetime型时,转化失败,而用datetime型时,转化成功。 
    3.对此两种数据库进行操作的sql语句不全相同,例如:在对ACCESS数据库进行删除纪录时用:"delete * from user where id=10",而对SQL SERVER数据库进行删除是用:"delete user where id=10". 
    4.日期函数不相同,在对ACCESS数据库处理中,可用date()、time()等函数,但对 
    SQL SERVER数据库处理中,只能用datediff,dateadd等函数,而不能用date()、time()等函数。 
    5.在对ACCESS数据库处理中,sql语句中直接可以用一些VB的函数,像cstr()函数,而对SQL SERVER数据库处理中,却不能用。 
    _______________________________________________________________多多交流    共同进步
    [email protected]
    http://nizvoo.myrice.com
    _______________________________________________________________
      

  3.   

    看看这个能达到你的要求,不过我现在只是试出Access, Excel, Txt(只写了Access), 按理它可以支持所有你机子已有的驱动的数据库,不过没试出来。
    http://www.csdn.net/expert/TopicView.asp?id=288983 
      

  4.   

    楼上几位给出了意见和代码,同意
    我想只要知道各种数据库之间在字段类型上的差异之后,自己编码实现是没有问题的。问题的实质也不过是数据在不同的数据表之间的转移,但是要注意一些类型的匹配而已。对于类型相近的数据库,使用batchmove控件就可以直接搞定(配合两个database控件,分别对象两个数据库)。如果类型不相类型,可以使用代码先把原表的数据做转换,然后用append加post写到目标表中。
    datapump也可以实现这种功能,不过控制上稍有问题,我建议不要用
      

  5.   

    可以使用XML转换。
    采用XHTML的语法。