遇到一个问题:我想在delphi中实现将dbf的数据导出到sqlserver中,我用的是tdbf控件(因使用的dbf文件中有索引,试了很多控件和连接都不行,只能用tdbf),用tdbf后数据可以浏览,但不知道如何将其导入到sqlserver中。因只对部分字段进行导出,故希望语法结构是:adoconnection1.excute('select * into [dttable] from XXX')。请高手赐教!!

解决方案 »

  1.   

    告诉大家一个直接用SQL语句把DBF导入SQLServer,以及txt导入Access的方法,大家抛弃BatchMove吧
    来自:碧血剑
    告诉你一个最快的方法,用SQLServer连接DBF
    在SQLServer中执行
    SELECT * into bmk
    FROM OpenDataSource( ’Microsoft.Jet.OLEDB.4.0’,
     ’Data Source=”e:\share”;User ID=Admin;Password=;Extended properties=dBase 5.0’)...bmk
    这样就可以把e:\share中的bmk.dbf表导入到Sqlserver中,
    速度是最快的
    把压箱底的方法都告诉大家
    在Form上放一个ADOConnection,连结指向目标Access库
    比如txt文件在c:\temp\aaaa.txt
    就执行
    ADOConnection.Connected := True;
    ADOConnection.Execute(’Select * Into abcd From [Text;Database=c:\temp].aaaa.txt’);
    就一切Ok了,这个方法一定行的,我好不容易才研究出来的
    有了这两个例子,异构数据库之间导数据的问题就举一反三,迎刃而解了。----转自大富翁(http://www.delphibbs.com/delphibbs/dispq.asp?lid=1691966)
      

  2.   

    我想在delphi中实现,而且因dbf文件有索引,一般的连接字符串不能打开,试了很多只能用tdbf控件打开。
      

  3.   

    我用二楼的方法试了一下,打开一般的dbf效果很好,但打开有索引的dbf(每个dbf文件有一个同名的JQI文件)仍然报错,错误信息:OLE/DB provider returned message:外部表不是预期的格式。请问是不是驱动程序的问题?