Microsoft KB Archive/230152

= PRB: Cannot Add Rows to a Replica Database with ADO =

Article ID: 230152

Article Last Modified on 8/23/2001

-

APPLIES TO


 * Microsoft ActiveX Data Objects 2.1
 * Microsoft ActiveX Data Objects 2.1 Service Pack 1
 * Microsoft ActiveX Data Objects 2.1 Service Pack 2
 * Microsoft ActiveX Data Objects 2.5
 * Microsoft ActiveX Data Objects 2.6
 * Microsoft ActiveX Data Objects 2.7
 * Microsoft OLE DB Provider for Jet 4.0
 * Microsoft Open Database Connectivity Driver for Access 4.0

-



This article was previously published under Q230152



SYMPTOMS
When you try to insert a row into an Access 97 Design Master or Replica database with either the Microsoft Access ODBC Driver or the Microsoft OLE DB Provider for Jet that ships with MDAC 2.1 GA, the following error occurs:

Operation not supported on replicable databases that have not been converted to the current version.



RESOLUTION
The current workaround is to use the Microsoft Jet OLE DB 3.51 Provider.

For additional information about another possible workaround, please click the article number below to view the article in the Microsoft Knowledge Base:

240377 HOWTO: Insuring Jet 3.5 Is Installed Correctly (Part I)



STATUS
This behavior is by design. MDAC 2.1 and later service packs for MDAC 2.1 use the Microsoft Jet Engine 4.0. The Microsoft Jet Engine 4.0 allows read/write access only to design master or replica databases in the Microsoft Access 2000 format. If you open a design master or replica database using version 4.0 and the database format is Microsoft Access 97 format (or an earlier format) the database will be read-only.



Steps to Reproduce Behavior
 Start Access 97. Open an Access 97 .MDB. Choose Tools, Replication, and then Create Replica from the menus. Follow the steps to create a Design Master and Replica database. Start Visual Basic and choose a Project type of Standard EXE. Form1 is created by default. Add a Project Reference to Microsoft ActiveX Data Objects 2.1 Library.</li>  Paste the following code into the default form's Load method: Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset

'The following two Connection Strings will fail. 'Make sure the path to the MDB points to the Design Master or Replica cn.ConnectionString = "DRIVER={Microsoft Access Driver (*.mdb)}" & _ ";DBQ=<path to Design Master or Replica>" 'cn.ConnectionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0" & _ ";DATA SOURCE=<path to Design Master or Replica>" 'Uncomment this Connection String for a work around 'cn.ConnectionString = "PROVIDER=Microsoft.Jet.OLEDB.3.51" & _ ";DATA SOURCE=<path to Design Master or Replica>" cn.Open

rs.ActiveConnection = cn rs.Open "select * from authors",, adOpenDynamic, adLockOptimistic, adCmdText rs.AddNew rs.Update

cn.Close Set cn = Nothing </li> Save the Project and then execute by pressing the F5 key.</li></ol>

Keywords: kbdatabase kbjet kbprb kbdriver KB230152

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.