ID: 16720 Updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] -Status: Open +Status: Closed Bug Type: COM related Operating System: Windows 2000 SP2 German PHP Version: 4.1.2 New Comment:
This bug has been fixed in CVS. You can grab a snapshot of the CVS version at http://snaps.php.net/. In case this was a documentation problem, the fix will show up soon at http://www.php.net/manual/. In case this was a PHP.net website problem, the change will show up on the PHP.net site and on the mirror sites. Thank you for the report, and for helping us make PHP better. Previous Comments: ------------------------------------------------------------------------ [2002-04-27 06:22:51] [EMAIL PROTECTED] unfortunately, defining $connection as a global or as local variable won't work. the same error occured:( ------------------------------------------------------------------------ [2002-04-27 06:04:19] [EMAIL PROTECTED] can you try to define $connection as a global or local variable and not as a class member. i don't thank that this causes the error but just lets go for sure .. ------------------------------------------------------------------------ [2002-04-21 09:53:18] [EMAIL PROTECTED] php binary: v4.1.2 downloaded from www.php4win.de adodb: ms activex data objects 2.7 library adox : ms ado ext. 2.5 for dll and security webserver: apache 1.3.20 ...................................................... a fatal error occured with following original message: "Die Anweisung in '0x100829c3' verweist auf Speicher in 0x00000008. Der Vorgang 'read' konnte nicht in den Speicher durchgeführt werden." english (similar): "Statement at '0x100829c3' refers to memory 0x00000008. memory-process 'read' could not be executed" error log: Premature end of script headers: path-to/php.exe ...................................................... at the end of this bug-report i post a sample-script, which you can test it. trivial: the fatal error occured always if the script is finished. please look in function tableExists, statement @$cat-ActiveConnection. the supply of an adodb.connection object occurs fatal error with an access oledb-provider as sql-server oledb-provider. ...................................................... <?php class test { var $connection; var $user = "Admin"; var $pw = ""; var $connstr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=path-to\Nordwind.mdb; Persist Security Info=False"; function test() { $this->connection = new COM("ADODB.Connection"); if (!$this->connection) { die (print "could not create an instance of adodb.connection"); } @$this->connection->Open($this->connstr, $this->user, $this->pw); } function tableExists($value) { $ok = false; $cat = new COM("ADOX.Catalog"); if ($cat) { //@$cat->ActiveConnection = $this->connection; //<-- with this statement we receive a fatal error @$cat->ActiveConnection = $this->connection->ConnectionString; //<-- but setting the conn-string works fine $tables = @$cat->Tables; $count = $tables->Count(); for($i = 0; $i < $count; $i++) { $table = $tables->Item($i); if (strtolower($table->Type) != "view" && strtolower($table->Name) == strtolower($value)) { $ok = true; break; } } $table->Release(); $table = null; unset($table); $tables->Release(); $tables = null; unset($tables); $cat->Release(); $cat = null; unset($cat); } return $ok; } } // end class $test = new test(); $ret = $test->tableExists("dummy_table"); echo (integer) ret; ?> ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=16720&edit=1