请问ADO连接中的各提供程序是什么意思?是不是各代表一种数据连接方式?MediaCatalogDB OLE DB Provider
MediaCatalogMegeredDB OLE DB Provider
MediaCatalogWebDB OLE DB Provider
Microsoft ISAM 1.1 OLE DB Provider
Microsoft Jet 4.0 OLE DB Provider
Microsoft OLE DB Provider for Data Mining Services
Microsoft OLE DB Provider for Indexing Services
Microsoft OLE DB Provider for Internet Publishing
Microsoft OLE DB Provider for ODBC Drivers
Microsoft OLE DB Provider for OLAP Services 8.0
Microsoft OLE DB Provider for Oracle
Microsoft OLE DB Provider for Outlook Search
Microsoft OLE DB Provider for SQL Server
Microsoft OLE DB Simple Provider
MSDataShape
OLE DB Provider for Microsoft Directory Services
请问以上这些代表什么?各对应什么数据库?各在什么情况下使用?Access是不是使用Microsoft Jet 4.0 OLE DB Provider?ODBC是什么东西?谢谢指教!

解决方案 »

  1.   

    ODBC是在机子上设的数据源,与操作系统密切相关
      

  2.   

    Microsoft Jet 4.0 OLE DB Provider为Access、Excel、Text、Foxpro等;
    Microsoft OLE DB Provider for SQL Server是微软OLEDB对SQL Server的接口;
    Microsoft OLE DB Provider for Oracle微软OLEDB对Oracle的接口等……
      

  3.   

    ODBC:开放数据库连接(Open Datebase Connectivity),是数据库服务器的一个标准协
          议......建议你找本Delphi数据库方面的书看看!
      

  4.   

    谢谢秋风大哥,呵呵。小弟还有一个问题,如何在Access中添加用户名和密码?也就是防止别人不通过制作的程序,而通过Access直接打开数据库文件?
      

  5.   

    创建access数据库的时候设置密码不就可以了么?
      

  6.   

    在Access中不会创建密码,千万别汗ing...
      

  7.   

    OLE DB是数据库为ADO提供的标准驱动引擎,是做数据连接用的
      

  8.   

    ADOConnection1.ConnectionString := 'Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=201Cash;Data Source=192.168.1.118';
    Provider:数据提供者,默认状态下为 MSDASQL ,为Microsoft的OLE DB,通常省略!
    DSN:要打开的数据库对应的 ODBC 系统数据源(DSN),是可选参数!
    DRIVER:要打开的数据库所用的驱动程序名称,是可选参数!
    SERVER: ......
    DATEABASE: ......
    UID: .....
    PWD: ......
      

  9.   

    1.DELPHI中操作ACCESS数据库(建立.mdb文件,压缩数据库)
    以下代码在WIN2K,D6,MDAC2.6下测试通过,
    编译好的程序在WIN98第二版无ACCESS环境下运行成功.
    //在之前uses ComObj,ActiveX
    //声明连接字符串
    Const
     SConnectionString       = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;'
                                   +'Jet OLEDB:Database Password=%s;';//=============================================================================
    // Procedure: GetTempPathFileName
    // Author   : ysai
    // Date     : 2003-01-27
    // Arguments: (None)
    // Result   : string
    //=============================================================================
    function GetTempPathFileName():string;
    //取得临时文件名
    var
     SPath,SFile:array [0..254] of char;
    begin
     GetTempPath(254,SPath);
     GetTempFileName(SPath,'~SM',0,SFile);
     result:=SFile;
     DeleteFile(PChar(result));
    end;//=============================================================================
    // Procedure: CreateAccessFile
    // Author   : ysai
    // Date     : 2003-01-27
    // Arguments: FileName:String;PassWord:string=''
    // Result   : boolean
    //=============================================================================
    function CreateAccessFile(FileName:String;PassWord:string=''):boolean;
    //建立Access文件,如果文件存在则失败
    var
     STempFileName:string;
     vCatalog:OleVariant;
    begin
     STempFileName:=GetTempPathFileName;
     try
       vCatalog:=CreateOleObject('ADOX.Catalog');
       vCatalog.Create(format(SConnectionString,[STempFileName,PassWord]));
       result:=CopyFile(PChar(STempFileName),PChar(FileName),True);
       DeleteFile(STempFileName);
     except
       result:=false;
     end;
    end;//=============================================================================
    // Procedure: CompactDatabase
    // Author   : ysai
    // Date     : 2003-01-27
    // Arguments: AFileName,APassWord:string
    // Result   : boolean
    //=============================================================================
    function CompactDatabase(AFileName,APassWord:string):boolean;
    //压缩与修复数据库,覆盖源文件
    var
     STempFileName:string;
     vJE:OleVariant;
    begin
     STempFileName:=GetTempPathFileName;
     try
       vJE:=CreateOleObject('JRO.JetEngine');
       vJE.CompactDatabase(format(SConnectionString,[AFileName,APassWord]),
           format(SConnectionString,[STempFileName,APassWord]));
       result:=CopyFile(PChar(STempFileName),PChar(AFileName),false);
       DeleteFile(STempFileName);
     except
       result:=false;
     end;
    end;//=============================================================================
    // Procedure: ChangeDatabasePassword
    // Author   : ysai
    // Date     : 2003-01-27
    // Arguments: AFileName,AOldPassWord,ANewPassWord:string
    // Result   : boolean
    //=============================================================================
    function ChangeDatabasePassword(AFileName,AOldPassWord,ANewPassWord:string):boolean;
    //压缩数据库并修改ACCESS数据库密码
    var
     STempFileName:string;
     vJE:OleVariant;
    begin
     STempFileName:=GetTempPathFileName;
     try
       vJE:=CreateOleObject('JRO.JetEngine');
       vJE.CompactDatabase(format(SConnectionString,[AFileName,AOldPassWord]),
           format(SConnectionString,[STempFileName,ANewPassWord]));
       result:=CopyFile(PChar(STempFileName),PChar(AFileName),false);
       DeleteFile(STempFileName);
     except
       result:=false;
     end;
    end;
      

  10.   

    请问在Access中设置用户名和密码是针对数据库文件还是该数据库中的某一个表?我原来没用过Access,以前用Database Desktop的...