Een Access database-connectie via PHP

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ben al een aantal dagen bezig om een verbinding tot stand te krijgen met mijn access database binnen vista, maar tot nu toe faal ik enorm in mijn speurtocht.
Hopelijk kunnen jullie wat voor me betekenen.

Het volgende gebruik ik:
-nieuwste versie van xampp
-laptop met xp pro
-computer thuis met VISTA Ultimate
-access database 2010 met een accdb extensie.

met deze code krijg ik op mijn xp computer met een pietluttig access database bestandje prima verbinding, maar in vista stug niet.. al 4 dagen bezig.. wellicht kan iemand mij hier helpen?
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
 
 
 $dsn       = 'C:\xampp\htdocs\database2.accdb'; 
 $username  = '';
 $password  = '';
 $connectie = odbc_connect("DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ=$dsn", $username, $password);
 
 
 if($connectie) {
     echo 'verbinding succesvol';
 } else {
     echo 'Geen connectie';
 }
 
 odbc_close($connectie);
?>


de volgende foutmelding krijg ik in vista:
Warning: odbc_connect() [function.odbc-connect]: SQL error: [Microsoft][ODBC-stuurprogrammabeheer] De naam van de gegevensbron is niet gevonden en er is geen standaardstuurprogramma opgegeven, SQL state IM002 in SQLConnect in C:\xampp\htdocs\test.php on line 10
Geen connectie
Warning: odbc_close() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\test.php on line 19
Ik heb alle stappen doorlopen, ik heb bij de odbc data source de juiste versie aangegeven..


Persoonlijk denk ik dat het iets te maken kan hebben met bestandsrechten binnen Vista, terwijl ik toch de gebruikersaccountbeheer binnen msconfig heb uitgeschakeld..

De wanhoop is nabij, is hier iemand die me opweg kan helpen?

Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 12:21

MueR

Admin Tweakers Discord

is niet lief

Je hebt gebruikersaccountbeheer uitgeschakeld? Huh? Dat heeft volgens mij niets met bestandsrechten te maken hoor. Doe eens een simpele test: geef "Everyone" rechten op die access file en kijk dan wat er terugkomt.

Anyone who gets in between me and my morning coffee should be insecure.


Acties:
  • 0 Henk 'm!

  • Fish
  • Registratie: Juli 2002
  • Niet online

Fish

How much is the fish

(*.mdb, *.accdb) vervangen met ($dsn) ?

Iperf


Acties:
  • 0 Henk 'm!

  • Afvalzak
  • Registratie: Oktober 2008
  • Laatst online: 31-08 12:02

Afvalzak

Zet jij mij even buiten?

Ik had een tijdje geleden ook gezeur met odbc koppeling. Toen bleek dat ik de driver onder Gebruikers-DSN had toegevoegd i.p.v. Systeem-DSN onder ODBC beheer.

Misschien is het zoiets?

Last.fm | Code Talks


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
MueR schreef op dinsdag 03 mei 2011 @ 14:06:
Je hebt gebruikersaccountbeheer uitgeschakeld? Huh? Dat heeft volgens mij niets met bestandsrechten te maken hoor. Doe eens een simpele test: geef "Everyone" rechten op die access file en kijk dan wat er terugkomt.
dat had ik ergens gelezen op het net..
ik heb zelfs firewall en avg free tijdelijk uitgeschakeld..

ik heb het zojuist op everyone gezet.. maar de onzichtbare checkbox speciale machtigingen staat nog steeds uit.. maar dat maakt volgens mij niet uit..

het is best frustie zeg..
fish schreef op dinsdag 03 mei 2011 @ 14:10:
(*.mdb, *.accdb) vervangen met ($dsn) ?
need dat is de connection string/driver gedeelte.. (zie: http://www.connectionstrings.com/access-2007)
afvalzak schreef op dinsdag 03 mei 2011 @ 14:14:
Ik had een tijdje geleden ook gezeur met odbc koppeling. Toen bleek dat ik de driver onder Gebruikers-DSN had toegevoegd i.p.v. Systeem-DSN onder ODBC beheer.

Misschien is het zoiets?
Ik heb hier de nieuwste drivers gedownload:
http://www.microsoft.com/...b371ede16d&displaylang=en

ik heb zelfs dit gevalletje gedownload:
http://dev.mysql.com/downloads/connector/odbc/

maar in xp doet hij het zelfs zonder enige vorm van dsn input

[ Voor 43% gewijzigd door Verwijderd op 03-05-2011 14:28 ]


Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 12:21

MueR

Admin Tweakers Discord

is niet lief

Mag Apache uberhaupt die mappen wel in? Als er geen rechten zijn op de mappen gaat het inderdaad niet werken.

Anyone who gets in between me and my morning coffee should be insecure.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
MueR schreef op dinsdag 03 mei 2011 @ 14:35:
Mag Apache uberhaupt die mappen wel in? Als er geen rechten zijn op de mappen gaat het inderdaad niet werken.
tja.. dan is nogmaals de vraag, waarom in xp wel en in vista niet?
ik heb zondag nog xampp opnieuw geinstalleerd

waar kan je dat eigenlijk nachecken?

[ Voor 5% gewijzigd door Verwijderd op 03-05-2011 14:40 ]


Acties:
  • 0 Henk 'm!

  • Kuhlie
  • Registratie: December 2002
  • Niet online
Ik heb het zelf als volgt gedaan:
- maak een system dsn aan met de Microsoft Access Driver (*.mdb). Daarin selecteer ik ook meteen welke mdb gekoppeld moet worden.
- in php is dan alleen nog nodig:
PHP:
1
$connection = odbc_connect('NaamVanAangemaakteDataSource', '', '') or die("Could not connect to database!");


Misschien werkt dit ook voor accdb-databases? Je moet dan idd waarschijnlijk de Microsoft Access Driver (*.mdb, *.accdb) gebruiken.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Kuhlie schreef op dinsdag 03 mei 2011 @ 14:52:
Ik heb het zelf als volgt gedaan:
- maak een system dsn aan met de Microsoft Access Driver (*.mdb). Daarin selecteer ik ook meteen welke mdb gekoppeld moet worden.
- in php is dan alleen nog nodig:
PHP:
1
$connection = odbc_connect('NaamVanAangemaakteDataSource', '', '') or die("Could not connect to database!");


Misschien werkt dit ook voor accdb-databases? Je moet dan idd waarschijnlijk de Microsoft Access Driver (*.mdb, *.accdb) gebruiken.
helaas.. ook dit mocht niet baten :'(

ik heb in het verleden ook hier zitten kijken.. http://www.php.net/manual/en/odbc.installation.php

eventueel ander vraagje..
hoe pas ik Apache Environment variabelen aan?


maar.. wat ik dus gek vind.. hij ziet geen standaardstuurprogramma.. want die ik schijnbaar niet opgegeven, terwijl dat dus wel gedaan is..
er is dus geen informatieoverdracht tussen xampp en vista lijkt wel.. of apache/mysql en vista

[ Voor 16% gewijzigd door Verwijderd op 03-05-2011 15:03 ]


Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 12:21

MueR

Admin Tweakers Discord

is niet lief

Verwijderd schreef op dinsdag 03 mei 2011 @ 14:39:
[...]


tja.. dan is nogmaals de vraag, waarom in xp wel en in vista niet?
ik heb zondag nog xampp opnieuw geinstalleerd

waar kan je dat eigenlijk nachecken?
Volgens mij is in Vista er nogal wat gewijzigd aan security limitations (UAC onder andere). Via het security panel moet je wel kunnen zien wie er toegang hebben.

Anyone who gets in between me and my morning coffee should be insecure.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
MueR schreef op dinsdag 03 mei 2011 @ 15:38:
[...]

Volgens mij is in Vista er nogal wat gewijzigd aan security limitations (UAC onder andere). Via het security panel moet je wel kunnen zien wie er toegang hebben.
ik ben er denk ik achter gekomen wat het probleem is.. maar nu moet ik nog weten hoe ik van het probleem af kom..

als je een bestand wilt openen in access 2010, kan je het bestand exclusive openen.. dat heb ik voorheen ook in vista gedaan, maar nu net ook in xp wat weer resulteert in de volgende foutmelding:
Warning: odbc_connect() [function.odbc-connect]: SQL error: [Microsoft][ODBC Microsoft Access Driver] Cannot open database '(unknown)'. It may not be a database that your application recognizes, or the file may be corrupt., SQL state S1000 in SQLConnect in C:\xampp\website\test.php on line 6
Geen connectie
Warning: odbc_close() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\test.php on line 15
hoe kan dat?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Als iemand me kan helpen.. ik zou er erg blij mee zijn

Acties:
  • 0 Henk 'm!

Verwijderd

'Cannot open database '(unknown)'.

betekent dat niet gewoon dat je in je DSN geen database naam aangegeven hebt ?

$dsn = 'C:\xampp\htdocs\database2.accdb'; zou je volgens mij moeten escapen naar :

$dsn = 'C:\\xampp\\htdocs\\database2.accdb';

Ook zou ik zelf gaan voor een ODBC connectie via PDO, vooral vanwege schaalbaarheid.

Even off topic (enigszins dan) ... waarom Access ? PHP en ODBC is niet altijd een ideale combinatie en er zijn erg veel alternatieven die je minder kopzorgen op zullen leveren zoals Mysql, Postgres of SqlLite
Pagina: 1