ID: 6683
Updated by: phanto
Reported By: [EMAIL PROTECTED]
Old-Status: Open
Status: Assigned
Bug Type: COM related
Assigned To: phanto
Comments:
working on it
Previous Comments:
---------------------------------------------------------------------------
[2000-09-12 19:09:37] [EMAIL PROTECTED]
This example creates a connection object to a database, creates a recordset, then
assigns
the connection object to the recordset using ADO com objects.
<?
$dbc = new COM('ADODB.Connection');
$dbc->Provider = 'MSDASQL';
$dbc->Open('NWIND'); // standard sample access database northwind
$rs = new COM("ADODB.Recordset");
$rs->Open('select * from product',$dbc,3); // 3 = static cursor
?>
OUTPUT ERROR MESSAGE:
Warning: Invoke() failed: Exception occurred. in d:Inetpubwwwrootphpbugado.php on line
6
PHP has encountered an Access Violation at 78002D15
The error is because the COM object $dbc is passed as a parameter to $rs.
I have the same code in ASP. Works fine.
=========================
I have found the problem in COM.c
443 static void php_pval_to_variant(pval *pval_arg, VARIANTARG *var_arg)
444 {
445 OLECHAR *unicode_str;
446
447 switch (pval_arg->type) {
448 case IS_OBJECT:
449 case IS_ARRAY:
450 var_arg->vt = VT_EMPTY;
451 break;
if IS_OBJECT, should check if it is COM object, and set var_arg->vt as appropriate
John
---------------------------------------------------------------------------
[2000-09-12 12:21:28] [EMAIL PROTECTED]
This example creates a connection object to a database, creates a recordset, then
assigns the connection object to the recordset using ADO com objects.
<?
$dbc = new COM('ADODB.Connection');
$dbc->Provider = 'MSDASQL';
$dbc->Open('NWIND'); // standard sample access database northwind
$rs = new COM("ADODB.Recordset");
$rs->Open('select * from product',$dbc,3); // 3 = static cursor
?>
OUTPUT ERROR MESSAGE:
Warning: Invoke() failed: Exception occurred. in d:Inetpubwwwrootphpbugado.php on line
6
PHP has encountered an Access Violation at 78002D15
The error is because the COM object $dbc is passed as a parameter to $rs.
I have the same code in ASP. Works fine.
---------------------------------------------------------------------------
Full Bug description available at: http://bugs.php.net/?id=6683
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]