如何在delphi高速导出oracle数据库中的数据,把数据保存成txt文件?
存成insert into 形式?

解决方案 »

  1.   

    用oracle的export,这个办法是其中之一,我已经做了。但是我的oracle客户端只是安装驱动而已,没有这个exp.exe.batchmove,会不会太麻烦呢?把数据导到哪里去?sqlserver??而且数据类型要换,难免会出错。我需要的是把他数据导出成一条条插入语句"insert into ...",而且要高速度,象那个PLSQL Developer!!
      

  2.   

    //==============================================================================
    //DataSet.将数据集转换为字符串**************************************************
    //==============================================================================
    function DataSetToStr(DataSet: TDataSet): WideString;
    var SavePlace: TBook;
        j: integer;
    begin
      if DataSet.IsEmpty then Exit;
      //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      Result := '';
      //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      with DataSet do
      begin
        //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        //字段名称******************************************************************
        //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        for j:=1 to Fields.Count do Result := Result + Fields[j-1].DisplayName + #9;
        Result := Result + #13;
        //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        //数据内容******************************************************************
        //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        SavePlace := GetBook;
        DisableControls;
        First;
        while not Eof do
        begin
          for j:=1 to Fields.Count do Result := Result + Fields[j-1].AsString + #9;
          Result := Result + #13;
          Next;
        end;
        DataSetTryGotoMark(DataSet, SavePlace);
        EnableControls;
      end;
    end;