#33596 [NEW]: ADOMD COM works, DCOM doesn't
| From: | marko dot sirovnik at korona dot si | Date: | Wed, 06 Jul 2005 21:55:07 +0000 |
| Subject: | #33596 [NEW]: ADOMD COM works, DCOM doesn't | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-81499@lists.php.net to get a copy of this message | ||
From: marko dot sirovnik at korona dot si
Operating system: Windows 2003 Server
PHP version: 4CVS-2005-07-06 (stable)
PHP Bug Type: COM related
Bug description: ADOMD COM works, DCOM doesn't
Description:
------------
Hi!
I'm using ADOMD COM object in order to connect to OLAP database. When the
Web Server and the DB Server are on the same computer I can manage to
connect to OLAP DB (COM approach). But when DB Server is on on PC and Web
Server on another PC it is impossible for me (DCOM connection).
Short configuration:
OS: Windows 2003 Server
Web: IIS (comes with Win2003Srv)
DB: Microsoft SQL Server
OLAP: Microsoft Analysis Services
COM/DCOM object: ADOMD
-----------------------
PHP.INI
[com]
;com.typelib_file =
com.allow_dcom = true
com.autoregister_typelib = true
;com.autoregister_casesensitive = false
;com.autoregister_verbose = true
------------------------
I made ADOMD DCOM test with Visual Basic and it works fine.
Any help or idea how to remove this obstacle I appreciate.
Thanks to All!
Marko
Reproduce code:
---------------
<?php
$dsn = 'DATA SOURCE=blackbox;UID=sa;Initial Catalog=FoodMart
2000;Provider=MSOLAP;Encoding=windows-1250;Roles=skrbnik;';
//$cat = new COM('ADOMD.Catalog');
$cat = new COM('ADOMD.Catalog', array(
"Server" => "blackbox",
"Username" => "administrator",
"Password" => "default"));
if (is_null($cat)) {
echo '<B>Sorry, problem with COM object.</B><BR>';
echo '$cat = ' ;
var_dump ($cat);
return;
} else {
echo '<BR><B>Connection with OLAP has been established.</B>';
}
$cat->ActiveConnection = $dsn;
var_dump ($cat);
?>
Expected result:
----------------
DCOM connection should be different then "Null". Furthermore, a message
"Connection with OLAP has been established." is expected to be seen in Web
browser.
Actual result:
--------------
With PHP Version 4.3.6 the following warrning has arrised:
"Unable to obtain IDispatch interface for CLSID
{228136B0-8BD3-11D0-B4EF-00A0C9138CA4}: Class not registered in
c:\inetpub\wwwroot\aaa1.php on line 3
Sorry, problem with COM object."
PHP Version 4.4.0RC3-dev:
"PHP has encountered an Access Violation at 0184A8A8?$?? °Ew??????
?U?\??????????c?O2????Ty
?m?OqeRV#88?N???????<_N>?U"?????JDźp???r'???)JK]v^?M7???Z??6?C??P?\??v???8d??
<?/?"
--
Edit bug report at http://bugs.php.net/?id=33596&edit=1
--
Try a CVS snapshot (php4): http://bugs.php.net/fix.php?id=33596&r=trysnapshot4
Try a CVS snapshot (php5.0): http://bugs.php.net/fix.php?id=33596&r=trysnapshot50
Try a CVS snapshot (php5.1): http://bugs.php.net/fix.php?id=33596&r=trysnapshot51
Fixed in CVS: http://bugs.php.net/fix.php?id=33596&r=fixedcvs
Fixed in release: http://bugs.php.net/fix.php?id=33596&r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=33596&r=needtrace
Need Reproduce Script: http://bugs.php.net/fix.php?id=33596&r=needscript
Try newer version: http://bugs.php.net/fix.php?id=33596&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=33596&r=support
Expected behavior: http://bugs.php.net/fix.php?id=33596&r=notwrong
Not enough info: http://bugs.php.net/fix.php?id=33596&r=notenoughinfo
Submitted twice: http://bugs.php.net/fix.php?id=33596&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=33596&r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=33596&r=php3
Daylight Savings: http://bugs.php.net/fix.php?id=33596&r=dst
IIS Stability: http://bugs.php.net/fix.php?id=33596&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=33596&r=gnused
Floating point limitations: http://bugs.php.net/fix.php?id=33596&r=float
No Zend Extensions: http://bugs.php.net/fix.php?id=33596&r=nozend
MySQL Configuration Error: http://bugs.php.net/fix.php?id=33596&r=mysqlcfg