可以有不同方式,
1。ODBC
在ADOConnection组件中设置ConnectString属性为:
‘Provider=MSDASQL.1;Persist Security Info=False;Data Source=TansoERP’
其中'TansoERP'为ODBC中设置的数据源名。2。Jet Engine
‘Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\tansoERP\Data\001\UF_2001.mdb;Persist Security Info=False’
其中'D:\tansoERP\Data\001\UF_2001.mdb'为数据库所在目录和数据库文件名

解决方案 »

  1.   

    那在delphi 中怎样配置odbc呢?请教!
      

  2.   

    以下是我对dbf ODBC 文件源的处理,这样就可以用Ado 连这个文件源了
    本意就是要动态的实现,没这个文件源的话,自动生成。
    procedure TForm1.BtnGenODBCClick(Sender: TObject);
    var
      WINNT,USER,DATANAME,DATANAME,PASS:String[20];
      XTREAD:Integer;
      IsOk:Integer;
      DRIVER,UID,FIL,dBASEvar:PCHAR;
      ls_hk:HKEY;
      Registry: TRegistry;
      AppPath: String;
    begin
    try
      AppPath:=ExtractFilePath(ParamStr(0));
      DRIVER:=Pchar(GetSysDir+'\odbcjt32.dll');  //?
      UID:='';
      FIL:='dBase 5.0';
      LS_HK:=HKEY_CURRENT_USER;
      If RegCreateKey( HKEY_CURRENT_USER,'Software\ODBC\ODBC.INI\dBASE FILES test',ls_hk ) = ERROR_SUCCESS then
        begin
          RegSetValueEx(ls_hK,'DRIVER',0 ,REG_SZ,DRIVER,REG_EXPAND_SZ);
          RegSetValueEx(ls_hK,'UID',0 ,REG_SZ,UID,REG_EXPAND_SZ);
          RegSetValueEx(ls_hK,'FIL',0 ,REG_SZ,FIL,REG_EXPAND_SZ);
        end;
      Registry:=TRegistry.Create;
      Registry.RootKey:=HKEY_CURRENT_USER;
      Registry.OpenKey('Software\ODBC\ODBC.INI\dBASE FILES test',False);
      Registry.Writestring('DefaultDir',AppPath);
      Registry.WriteInteger('DriverId',533);
      Registry.WriteInteger('SafeTransactions',0);
      Registry.CloseKey;
      If RegCreateKey( HKEY_CURRENT_USER,'Software\ODBC\ODBC.INI\dBASE FILES test\Engines\Xbase',ls_hk ) = ERROR_SUCCESS then
        begin
          RegSetValueEx(ls_hK,'Deleted',0 ,REG_BINARY,0,4);
          RegSetValueEx(ls_hK,'Statistics',0 ,REG_BINARY,0,4);
          Registry.OpenKey('Software\ODBC\ODBC.INI\dBASE FILES test\Engines\Xbase',False);
          Registry.WriteInteger('PageTimeout',30);
          Registry.WriteInteger('Threads',3);
          Registry.Writestring('UserCommitSync','Yes');
          Registry.Writestring('ImplicitCommitSync','');
          Registry.Writestring('CollatingSequence','ASCII');
        end;
      Registry.CloseKey;
    finally
      Registry.Free;
    end;
      dBASEvar:='Microsoft dBase Driver (*.dbf)';
      If RegCreateKey( HKEY_CURRENT_USER,'Software\ODBC\ODBC.INI\ODBC Data Sources',ls_hk ) = ERROR_SUCCESS then
          RegSetValueEx(ls_hK,'dBASE FILES test',0 ,REG_SZ,dBaseVar,length(dbaseVar));
    end;
    function GetSysDir :string;
     var
       pcSystemDirectory : PChar;
       dwSDSize          : DWORD;
    begin
       dwSDSize := MAX_PATH + 1;
       GetMem( pcSystemDirectory, dwSDSize );
       try
          if Windows.GetSystemDirectory( pcSystemDirectory, dwSDSize ) <> 0 then
             Result := pcSystemDirectory;
       finally
          FreeMem( pcSystemDirectory );
       end;
    end;
      

  3.   

    -- Paradox 数据表的Connectionstring串
    -----------------------------------------
    Provider=MSDASQL.1;Connect Timeout=15;Extended Properties="DefaultDir=D:\Examples\ADO\通过ADO使用本地数据表\Sourse;Driver={Microsoft Paradox Driver (*.db )};DriverId=538;FIL=Paradox 5.X;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;ParadoxNetPath=C:\WINDOWS\SYSTEM;ParadoxNetStyle=4.x;ParadoxUserName=admin;SafeTransactions=0;Threads=3;UID=admin;UserCommitSync=Yes;";Locale Identifier=2052-----------------------------------------
    -- dBase 数据表的Connectionstring串
    -----------------------------------------
    Provider=MSDASQL.1;Connect Timeout=15;Extended Properties="DefaultDir=D:\Examples\ADO\通过ADO使用本地数据表\Sourse;Deleted=1;Driver={Microsoft dBase Driver (*.dbf)};DriverId=533;FIL=dBase 5.0;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=600;SafeTransactions=0;Statistics=0;Threads=3;UID=admin;UserCommitSync=Yes;";Locale Identifier=2052
      

  4.   

    很简单:
    1.摆上一个adoconnection控件,双击控件打开连接字符串编辑器
    2.选择Use Connection string,单击build按钮。
    3.在data link属性框中,如果用Access使用"ms jet 4.0 ole db provider',单击next按钮,选择数据库,用户,密码,单击test connection按钮测试。成功后可单击确定按钮关闭,delphi自动生成连接字符串。
    4.生成完毕注意将loginprompt设为false。
    5.使用ado数据访问控件设置connection属性指向adoconnection控件即可。