|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2003-08-28 03:26 UTC] sniper@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Mon Oct 27 10:00:01 2025 UTC |
Description: ------------ Just upgraded to 4.3.3 last night and noticing some errors in my php log file. Now this is not related to ACL's on the machine as that has been setup correctly, there are no errors in the windows event viewer either. And even weirder is that the code works fine for a few hours and then just suddenly i get the above errors everytime i try to access our database using ADO. A full restart of apache fixes it but until that's done our site doesnt show any data. The exact error is [28-Aug-2003 02:51:00] PHP Warning: (null)(): Unable to obtain IDispatch interface for CLSID {00000514-0000-0010-8000-00AA006D2EA4}: CoInitialize has not been called. in E:\www\reports\monitoring.php on line 4 Here's 2 examples of code it happens a lot in $query = "SET NOCOUNT ON;DELETE T_ARTICLE_LINKS WHERE AL_ID=".$linkID.";SELECT @@ROWCOUNT AS ROWS"; $result = 0; $conn = new COM("ADODB.Connection");$conn->CommandTimeout=0;$conn->ConnectionTimeout=0; @$conn->Open($_ENV["OUR_CONN"]); if ($conn->state == 1) { $rs = $conn->Execute($query); $rows=$rs->Fields[0]->Value;$rs->Close();$rs->Release();$rs=null;unset($rs); $conn->Close(); $conn->Release();$conn=null;unset($conn); } return $rows; and here's an example using a stored procedure $conn = new COM("ADODB.Connection");$conn->CommandTimeout=0;$conn->ConnectionTimeout=0; @$conn->Open($_ENV["NUSONLINE_CONN"]); if ($type != '') { $t_id = ($typeID != '') ? $typeID : 0; $cmd = new COM("ADODB.Command"); $cmd->ActiveConnection = $conn; $cmd->CommandType = 4; $cmd->CommandText = "proc_POSTER_TYPES"; $cmd->Parameters->Append($cmd->CreateParameter("@RETURN_VALUE", 3, 4, 0, ($RETURN_VALUE=0))); $cmd->Parameters->Append($cmd->CreateParameter("@typeid", 131, 3, 0, $t_id)); $cmd->Parameters->Append($cmd->CreateParameter("@name", 200, 1, 1, stripslashes($typeName))); $cmd->Parameters->Append($cmd->CreateParameter("@successflag", 131, 3, 0, $successflag)); $cmd->Parameters["@typeid"]->Precision = 18; $cmd->Parameters["@successflag"]->Precision = 18; $cmd->Execute(); $typeid = $cmd->Parameters["@typeid"]->Value; $successflag = $cmd->Parameters["@successflag"]->Value; $conn->Close(); $cmd->Release();$cmd=null;unset($cmd); $conn->Release();$conn=null;unset($conn); } again the errors arent to do with the SQL/SP's used as they happen on the creation of the COM object.