如何用 delphi 实现
 非数据库服务器上的txt文件导入服务器上的数据库 ??
 ( 也就是说txt文件是在本地机子上)

解决方案 »

  1.   

    可以用BCP來導,但一定要有格式,不是亂的。
      

  2.   

    如果txt有固定格式,方法就很多了
      

  3.   

      当然有固定格式啊,有哪些方法 ?  BCP 怎么用?
      

  4.   

    有格式還不好辦呀,讀入到TSTRINGLIST裡面再分出來寫到資料庫,不過沒以BCP快
      

  5.   

    bcp {[[database_name.][owner].]{table_name | view_name} | "query"}
        {in | out | queryout | format} data_file
        [-m max_errors] [-f format_file] [-e err_file]
        [-F first_row] [-L last_row] [-b batch_size]
        [-n] [-c] [-w] [-N] [-V (60 | 65 | 70)] [-6]
        [-q] [-C code_page] [-t field_term] [-r row_term]
        [-i input_file] [-o output_file] [-a packet_size]
        [-S server_name[\instance_name]] [-U login_id] [-P password]
        [-T] [-v] [-R] [-k] [-E] [-h "hint [,...n]"]
      

  6.   

    异构数据库之间的导入导出:'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\mysmallexe\excel2sql\yp.xls;'
    +'Extended Properties=excel 8.0';
    ADOConnection1.Execute('select * into [Abc] from drug_yk IN [ODBC] [ODBC;Driver=SQLServer;UID=sa;PWD=kcsoft58;Server=127.0.0.1;DataBase=kcsoft_his]');
    //把一个MSSQL的数据库表及数据导出到excel中,abc为excel中不存在的表名,drug_yk为MSSQL里的表, sa为用户,  kcsoft58为密码 , 127.0.0.1为服务大地址 ,kcsoft_his是数据库名称
    ADOConnection1.Execute('insert into [abc] select * from drug_yk in [ODBC] [ODBC;Driver=SQLServer;UID=sa;PWD=kcsoft58;Server=127.0.0.1;DataBase=kcsoft_his]');
    //把一个MSSQL的数据库表的记录增加到到excel中,执行以后相当于两倍量的数据,一次是导入,一次是insert
    //EXCEL2MSSQL
      ADOConnection1.ConnectionString:='Provider=SQLOLEDB.1;Password=KCSOFT58;Persist SecurityInfo=True;User ID=SA;Initial Catalog=KCSOFT_HIS;Data Source=CHEN';
       ADOConnection1.Execute('SELECT * into [abc] FROM OpenDataSource( '
       +QuotedStr('Microsoft.Jet.OLEDB.4.0')+','
       +QuotedStr('Data Source="G:\mysmallexe\excel2sql\yp.xls";Extended Properties=excel 8.0')+')...[Abc]');
    //MSSQL2VFP
      ADOConnection2.ConnectionString:=
    'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\mysmallexe\excel2sql;'
    +'Extended Properties=dBase 5.0';
    ADOConnection2.Execute('select * into Abc.dbf from drug_yk IN [ODBC] [ODBC;Driver=SQLServer;UID=sa;PWD=kcsoft58;Server=127.0.0.1;DataBase=kcsoft_his]');
    //把一个MSSQL的数据库表及数据导出到VFP中,Abc.dbf 为VFP中不存在的表名,drug_yk为MSSQL里的表, sa为用户,  kcsoft58为密码 , 127.0.0.1为服务大地址 ,kcsoft_his是数据库名称
    //VFP2MSSQL
       ADOConnection2.ConnectionString:='Provider=SQLOLEDB.1;Password=KCSOFT58;Persist SecurityInfo=True;User ID=SA;Initial Catalog=KCSOFT_HIS;Data Source=CHEN';
       ADOConnection2.Execute('SELECT * into [abc] FROM OpenDataSource( '
       +QuotedStr('Microsoft.Jet.OLEDB.4.0')+','
       +QuotedStr('Data Source="G:\mysmallexe\excel2sql";Extended Properties=dBase 5.0')+')...[Abc]');
     //MSSQL2access
         ADOConnection2.ConnectionString:=
    'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\mysmallexe\excel2sql\Server.MDB;'
    +'Persist Security Info=False;Jet OLEDB:Database Password=happynewyear';
    ADOConnection2.Execute('select * into Abc from drug_yk IN [ODBC] [ODBC;Driver=SQLServer;UID=sa;PWD=kcsoft58;Server=127.0.0.1;DataBase=kcsoft_his]');
    //access2MSSQL
      ADOConnection2.ConnectionString:='Provider=SQLOLEDB.1;Password=KCSOFT58;Persist SecurityInfo=True;User ID=SA;Initial Catalog=KCSOFT_HIS;Data Source=CHEN';
       ADOConnection2.Execute('SELECT * into [abc] FROM OpenDataSource( '
       +QuotedStr('Microsoft.Jet.OLEDB.4.0')+','
       +QuotedStr('Data Source="G:\mysmallexe\excel2sql\Server.MDB";Jet OLEDB:DatabasePassword=happynewyear')+')...[Abc]');
    //excel2access
        ADOConnection2.ConnectionString:=
    'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\mysmallexe\excel2sql\Server.MDB;'
    +'Persist Security Info=False;Jet OLEDB:Database Password=happynewyear';
    ADOConnection2.Execute('SELECT * into [abc] FROM [excel8.0;database=G:\mysmallexe\excel2sql\yp.xls].[abc$]');//access2excel
       ADOConnection2.ConnectionString:=
    'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\mysmallexe\excel2sql\yp.xls;'
    +'Extended Properties=excel 8.0';
    ADOConnection2.Execute('SELECT * into abc  from[G:\mysmallexe\excel2sql\Server.MDB;pwd=happynewyear].abc');
    //MSSQL2txt
     ADOConnection2.ConnectionString:=
    'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\mysmallexe\excel2sql;'
    +'Extended Properties=text';
    ADOConnection2.Execute('select * into Abc#txt from drug_yk IN [ODBC] [ODBC;Driver=SQLServer;UID=sa;PWD=kcsoft58;Server=127.0.0.1;DataBase=kcsoft_his]');
    //txt2MSSQL
       ADOConnection2.ConnectionString:='Provider=SQLOLEDB.1;Password=KCSOFT58;Persist SecurityInfo=True;User ID=SA;Initial Catalog=KCSOFT_HIS;Data Source=CHEN';
        ADOConnection2.Execute('SELECT * into [abc] FROM OpenDataSource( '
       +QuotedStr('Microsoft.Jet.OLEDB.4.0')+','
       +QuotedStr('Data Source="G:\mysmallexe\excel2sql";Extended Properties=text')+')...[Abc#txt]');