Command.Execute with parameter works with ODBC provider, fails with Microsoft.Jet.OLEDB.4.0 
Author Message
 Command.Execute with parameter works with ODBC provider, fails with Microsoft.Jet.OLEDB.4.0

Hello,

I'm trying to create a parametrized recordset on an Access 97 table.
It works ok if I connect to the database with the ODBC provider:
strCnn = "DRIVER={Microsoft Access Driver
(*.mdb)};DBQ=D:\ymo\essais\demotrain.mdb;DefaultDir=;UID=admin;PWD=;"

But it fails with Microsoft.Jet.OLEDB.4.0:
strCnn = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=D:\ymo\essais\demotrain.mdb;"
The error code is the (famous ?) 0x80004005 that seems to occur in many
other situations...

The version of my msjetoledb40.dll is 4.00.2927.2

Any idea of why it fails?

Thanks a lot for your help,

Yves Monier

Here is the whole code I use to reproduce the problem :

Public Sub TestCreateParameter()
   Dim cnn1 As ADODB.Connection
   Dim cmd1 As ADODB.Command
   Dim prm1 As ADODB.Parameter
   Dim rst1 As ADODB.Recordset

   ' Open connection.
   Set cnn1 = New ADODB.Connection
   ' cmd1.Execute fails with connection using
Provider=Microsoft.Jet.OLEDB.4.0
   ' but works with DRIVER={Microsoft Access Driver (*.mdb)};DBQ=...
   'strCnn = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=D:\ymo\essais\demotrain.mdb;"
   strCnn = "DRIVER={Microsoft Access Driver
(*.mdb)};DBQ=D:\ymo\essais\demotrain.MDB;DefaultDir=;UID=admin;PWD=;"
   cnn1.Open strCnn

   ' Open command object with one parameter.
   Set cmd1 = New ADODB.Command
   cmd1.CommandText = "SELECT * FROM term WHERE language = ?"
   cmd1.CommandType = adCmdText

   ' Get parameter value and append parameter.
   Set prm1 = cmd1.CreateParameter(, adInteger, adParamInput)
   cmd1.Parameters.Append prm1
   prm1.Value = 1

   ' Create recordset by executing the command.
   Set cmd1.ActiveConnection = cnn1
   Set rst1 = cmd1.Execute

   Do While Not rst1.EOF
      MsgBox rst1!baseForm
      rst1.MoveNext
   Loop

   rst1.Close
   cnn1.Close
End Sub



Tue, 23 Jul 2002 03:00:00 GMT  
 
 [ 1 post ] 

 Relevant Pages 

1. [ODBC Microsoft Access Driver] ODBC--call failed.

2. [ODBC Microsoft Access Driver] ODBC--call failed.

3. Microsoft OLE DB Provider for ODBC Drivers error

4. Microsoft OLE DB Provider for ODBC - no DNS

5. Microsoft OLE DB provider for ODBC-internal client library error

6. Microsoft OLE DB Provider for ODBC Drivers (0x80004005)

7. Microsoft OLE DB provider for ODBC

8. Microsoft.Jet.OLEDB.4.0 Provider not working with Access 97 MDB

9. AutoNew fails to execute from command line

10. Oracle and ADO command.execute- Create Trigger Fails

11. ODBC Microsoft Access 97 driver login failed

12. Working append qry fails when invoked with Execute method

 

 
Powered by phpBB® Forum Software