|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #11655 Ivoking COM will not work.
Submitted: 2001-06-25 06:49 UTC Modified: 2001-06-27 08:50 UTC
From: roland at daydream dot co dot uk Assigned:
Status: Closed Package: COM related
PHP Version: 4.0.6 OS: Win NT4.0 SP6a
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If this is not your bug, you can add a comment by following this link.
If this is your bug, but you forgot your password, you can retrieve your password here.
Bug Type:
From: roland at daydream dot co dot uk
New email:
PHP Version: OS:


 [2001-06-25 06:49 UTC] roland at daydream dot co dot uk
This does not work, but worked unchanged in PHP 4.0.4pl1

$myDSN = "DSN=dbEmpty;DBQ='c:\\test.mdb';DRIVER={Microsoft Access Driver(*.mdb)};UID='root';PW='';";

$dbc = new COM("ADODB.Connection");
$dbc->Provider = "MSDASQL";

Warning: Invoke() failed: Exception occurred (line $dbc->Open($myDSN); )

Setting from php.ini:
;com.typelib_file = 
com.allow_dcom = On


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2001-06-26 10:20 UTC]
in which line does the warning occur ?
 [2001-06-26 10:29 UTC] roland at daydream dot co dot uk
The exception occurs in line 5, which is


 [2001-06-27 07:12 UTC]
i can't reproduce this. are you sure that your mdb is in the right place ? i get this kind of error if the DSN is invalid.

 [2001-06-27 08:50 UTC] roland at daydream dot co dot uk
Thank you, you are completely right. I had a closer look at this and found the following problem with the connection string:

To achieve a dsn-less connection, I used a valid System-DSN pointing to an empty .mdb file. The DBQ-Attribute pointed to the actual database. This does not work under PHP, it has to be the same datasource as in the DSN (e.g. in ColdFusion this is the only way of creating a dsn-less connection).

To get a dsn-less connection with PHP is actually even simpler, done with this connection string:

$myDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=c:\\test.mdb;User='root';Password='';";

(note that in my post above is a space missing, instead of

Microsoft Access Driver(*.mdb), it should read 
Microsoft Access Driver (*.mdb)

, which will prevent it from working correctly, too.)

PHP Copyright © 2001-2022 The PHP Group
All rights reserved.
Last updated: Thu Jul 07 04:03:36 2022 UTC