[PHP] ODBC werkt alleen in CLI

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • sTeVuu
  • Registratie: Oktober 2005
  • Laatst online: 08-08-2023
Ik heb een tijdje geleden een PHP script gemaakt om gegevens uit een koppeltabel uit een Access bestand te halen. Dit heeft tot nu altijd gewerkt, maar nu geeft hij telkens een foutmelding:

Fatal error: Uncaught exception 'com_exception' with message 'Source: Microsoft OLE DB Provider for ODBC Drivers
Description: [Microsoft][ODBC Microsoft Access-stuurprogramma] V:\Dhs\Apps\Lvslib\LVSDAT is geen geldig pad. Zorg ervoor dat de padnaam correct is gespeld en dat u een verbinding hebt met de server waarop het bestand zich bevindt.'

Ik heb de laatste 3 dagen niets veranderd aan de code, en het heeft goed gewerkt.

Nou ben ik er met veel doorzoeken achtergekomen dat het wél werkt in CLI, maar niet via de browser.
Dus als ik, "php-cgi -f "C:/www/test.php"" uitvoer, werkt het goed, maar als ik het via de browser aanroep krijg ik die foutmelding.

Herkent iemand dit probleem? Weet iemand een oplossing?

Overige info:
Webserver: Abyss WS
PHP: PHP-5.0.4
OS: Windows 2K server

En al ander PHP werkt gewoon goed, zelfs andere tabellen dan de koppeltabel werkt goed (koppeltabel alleen in CLI)

PHP-code gebruikt:
PHP:
1
2
3
4
5
6
7
8
9
    $db = $this->db; // Deze is in de constructor gedefineerd
    $conn = new COM('ADODB.Connection');
    $conn->Open("DRIVER={Driver do Microsoft Access (*.mdb)}; DBQ=$db");
    
    $rs = $conn->Execute("SELECT * FROM rep");

    while (!$rs->EOF) {
       // etc etc..
    }



Edit:
Het werkt nu wel, voor de mensen die zich afvragen wat het was, de server is niet opnieuw opgestart sinds dat de httpd geïnstalleerd was, deze draaide dus gewoon als programma.
De server rebootte echter vanmorgen, wat er tot leed dat de httpd als service opstartte. De service draaide onder LOCALSYSTEM, en had daardoor geen toegang tot de gekoppelde tabellen (die gekoppeld waren aan een netwerkbron)

[ Voor 49% gewijzigd door sTeVuu op 14-10-2005 13:28 ]