DBX Error in Access 2000 > don't support

Help
CoDeSign
2010-08-07
2013-05-01
  • CoDeSign
    CoDeSign
    2010-08-07

    Microsoft Access driver don't support files 2000, 2003 or 2007. I modify demo to MSACCESS to use 2003 database file. and don't permit me change updates, when use TClientDataSet.Applyupdates show me: Record not found or changed by another user; Unable to find record. No key specified. I try change the options connections (Ansi strings fields,Direct ODBC). Only update one character. When I use the demo in 97 database file, the updates takes effect.  Why??

     
  • 1) dbx version ? (hope 3.2010.08.06)
    2) delphi version ?
    3) you connection string/parameters for access 2003 ?

     
  • dbxoodbc version 3.2010.08.08

    + fixed: msaccess: update empty string value ('') as NULL. For old version need use connection option "coEmptyStrParam=1".
    + fixed: "TSqlCommandOdbc.setParameter" for string types

     
  • CoDeSign
    CoDeSign
    2010-08-09

    Thanks for you suport.
    I use embarcadero delphi 2009
    I use dbxoodbc3_ AND dbxoodbc_version_3_214_at_2010-08-04 (the same problem)
    The database if MS Access 2003 format.
    I use the class dbx_access_connect

    dbx_access_connect.AccessConnectCustom(DM.SQLConnection,'database.mdb',' ',False,True,'Usuario','Clave','coEnableBCD=0',True,True,True);

    procedure AccessConnectCustom(SQLConnection: TSQLConnection;
      mdb_file_name: string;
      DNS_NAME: string;
      DirectOdbc: Boolean;
      LoginPrompt: Boolean;
      UserName: string;
      Password: string;
      AdditionalOptions: string;
      bAnsiStringField: Boolean;
      bUnicodeOdbcApi: Boolean;
      bUnicodeDriver: Boolean
    );

     
  • CoDeSign
    CoDeSign
    2010-08-09

    Thanks pult.

    dbx_access_connect.AccessConnect(SQLConnection,
          // mdb_file_name:
            ExtractFilePath(ParamStr(0)) + 'control.mdb',
          // DNS_NAME
            '',
          // DirectOdbc
            True,
          // LoginPrompt
            False,
          // UserName
            'usuario',
          // Password
            'clave',
          // AdditionalOptions
            'coEnableBCD=0',
          // bUnicodeOdbcApi
            True,
          // bAnsiStringField
            False,
          // bUnicodeDriver
            True
        );

    with this configuration works fine.