Toon posts:

ODBC-connectie netwerk

Pagina: 1
Acties:
  • 115 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
heb een access-database op de lokale pc staan, via een odbc-connectie kan ik hier alles mee met php.

Nu wilde ik kijken of het ook ging met database op netwerk.
Dus database op netwerk gezet, netwerkschijf aangemaakt.

Nu kan ik wel de database bewerken met access etc, maar als ik via php wil connecten krijg ik de volgende melding:

code:
1
2
3
4
5
6
7
Warning: odbc_connect(): SQL error: [Microsoft][ODBC Microsoft Access-stuurprogramma] 
De Microsoft Jet-database-engine kan het bestand (onbekend) niet openen. 
Het is exclusief geopend door een andere gebruiker of u hebt een machtiging nodig om de gegevens 
te kunnen bekijken., SQL state S1000 in SQLConnect in 
c:\joris\apache_root\xtome\functions.php on line 139

Er is een fout opgetreden tijdens het maken van de verbinding met de database.


Nu was ik aan het zoeken op internet, maar daar hebben ze het over een odbc-bridge. Nu heb ik alleen een odbc-connectie op de computer met de php-site.

Moet ik nu ook een odbc-connectie op de pc met de database maken, of zit ik nu in de verkeerde hoek te zoeken.

Heb dit online gevonden, maar hoe zorg ik voor dat apache onder de goede user draait?

After many hours searching here´s how it works:

- Map the Network Drive where the mdb is located
- Setup System DSN in Control Panel with mapped Drive
- Open Registry at:
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC_INI
- Edit the for example "M:\" to "\\server\..."
- Close Regedit
- The Apache-Service must run with a Domain (network)-User!!
- After that you can connect using:

[ Voor 18% gewijzigd door Verwijderd op 02-02-2007 15:58 ]


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 14:04

TeeDee

CQB 241

1. Heb je het Access bestand open staan als je gaat testen?
2. Je moet op de machine waar de site draait een DSN maken naar \\servernaam\accesfile.mdb
2. Dit is blijkbaar een issue in de configuratie van je Apache installatie. (Hoe run ik Apache als Domein user)

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

Topicstarter
Bedankt voor je antwoord, het lag dus aan het laatste punt, heb het voor elkaar gekregen om apahce onder een andere user te runnen, en dan lukt het wel.

Ga nu even uittesten of je deze stap ehct moet doen:

HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC_INI
- Edit the for example "M:\" to "\\server\..."

Verwijderd

Topicstarter
Is dus echt nodig om je register aan te passen of gelijk \\server\map\mdb in de odbc te plaatsen, want met een netwerkschijf werkt het niet.

  • Remus
  • Registratie: Juli 2000
  • Laatst online: 15-08-2021
Ik neem aan dat Apache draait als service. In de context van een service bestaan drive-mappings niet (of iig over het algemeen niet).
Het is dus nodig om het UNC-pad (dus \\server\share\etc) te gebruiken. Voor het gebruik van netwerkresources is het overigens wel nodig dat de service (apache) niet draait onder het local system account, aangezien de service anders het UNC-pad niet kan benaderen. De service dient te draaien onder een (domein)gebruiker met voldoende rechten op de betreffende netwerklocatie.

Het bewerken van het pad van de ODBC-koppeling via de registry lijkt mij een beetje overdreven, dat kan je namelijk ook gewoon direct doen in de Data sources controlpanel.