--写一个存储过程处理就行了.--DBF数据导入SQL数据库:--/* dBase 文件
select * from 
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'dBase 5.0;DATABASE=C:\' --c:\是目录
,'select * from [客户资料4.dbf]') --客户资料4.dbf是文件名
--*/--/* FoxPro 数据库
select * from openrowset('MSDASQL',
'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\', --c:\是目录
'select * from [aa.DBF]') --aa.dbf是文件名/*--说明:SourceDB=c:\    c:\是dbf文件的存放目录
[aa.DBF]        是dbf文件名
--*/
--*/

解决方案 »

  1.   

    我知道用 insert into  tablename 
        select field1, field1...
         from server.user.dbname.tablename 
    可以把一表中的指定字段转入新库中,但多表中的指定字段转新库怎么转呢?
    谢谢,谁帮帮忙啦
      

  2.   

    楼上的大哥,这是将一个DBF库转入,我现在是要把N多个DBF库中的选择的字段转到SQL库的一个新表中去。
      

  3.   

    方法一:
    1.先CREATE NEWTBALE (COL1......)
    2.写一个STORED PROCEDURE
    CREATE PRO USP_INSERT_TO_SQL
    AS
    SET NOCOUNT ON
    BEGIN
    SELECT DBF.COL1,DBF.COL2..... INTO SQL.NEWTABLE FROM openrowset('MSDASQL',
    'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\','select * from [aa.DBF]')
    END3.建立JOB,定期执行该STORED PROCEDURE方法二:
    1.建立DTS PACKAGE
    2.建立JOB,定期执行该DTS
      

  4.   

    初始化已经过了,例子:
    --插入DBF库中数据到SQL库
    SELECT *
    INTO NewTable3
    FROM openrowset('MSDASQL','Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\','select * from ZXN3.DBF')SELECT *
    INTO NewTable2
    FROM openrowset('MSDASQL','Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\','select * from SBB_02.DBF')--合并2表中挑选的字段写入新表里
    SELECT NewTable2.wydm, NewTable3.d_f1但以后没次都需要插入的
    具体的INSERT用法,谁能贴出来吗
      

  5.   

    上面合并的没贴全。。晕
    应该为:
    --合并2表中挑选的字段写入新表里
    SELECT NewTable2.wydm, NewTable3.d_f1
                       
    INTO NewTable4
    FROM NewTable2,NewTable3
    就差下面更新的了
      

  6.   

    建立JOB,定期执行达不到实时的要求如果你在旧的FOX系统里用ODBC主动去更新,是最好了