# mit PHP per ODBC auf Access DB zugreifen



## mgd-one (19. April 2004)

Hallo zusammen,

vieleicht habe ich es übersehen, aber ich habe kein Post zu meiner Frage gefunden.

Meine Frage:

Wie kann ich eine ODBC Connect machen ohne einen System DNS? Also ich muss es über das PHP Script machen so wie in ASP. Weiß nur leider nicht wie das in PHP geht.

Bitte ein Beispiel dazu posten sonst versteh ich das nicht ganz. Thx

MfG mgd-one


----------



## Sven Petruschke (20. April 2004)

Wenn Du über die ODBC-Funktionen auf eine Access-Bank zugreifen willst, kommst Du um eine System- oder Benutzer-*DSN* nicht herum!


----------



## mgd-one (20. April 2004)

Kann man denn diese System- bzw. Benutzer-DSN nicht auch im PHP Script erstellen?


----------



## Sven Petruschke (20. April 2004)

Nicht, dass ich wüßte. Die DSN wird mit einem Verweis auf eine MDB-Datei erstellt. Wenn Du auf verschiedene Datenbanken zugreifen willst, könntest Du den Dateinamen der Ziel-Datenbank in den Namen umbenennen, auf den in der DSN verwiesen wird.

Vielleicht kann man Dir auch besser helfen, wenn Du Deine Problematik genauer erläuterst.

snuu


----------



## mgd-one (20. April 2004)

Also ich muss für die Schule ein Projekt machen. Es soll mit einer Access Datenbank laufen und (da ich nur PHP kann) mit PHP. Das ganze liegt auf einem Externen Webserver auf dem ich keine Berechtigung habe einen System-DSN einzurichten. Und ich weiß nicht wie ich das realisieren soll.


----------



## Sven Petruschke (20. April 2004)

Wenn es nicht Dein eigener Server ist, läuft der Webserver sehr wahrscheinlich nicht auf einem Windows-Betriebssystem, sondern unter Linux/Unix. Dann kannst Du natürlich keine System- oder Datei-DSN erstellen und ich hätte Damit für Dich auch keinen Lösungsvorschlag.


----------



## mgd-one (20. April 2004)

Es ist ein Windows Server.


----------



## Deemax (21. April 2004)

*PHP auf Access  DB*

Hi,

doch du kannst DSN los auf eine Access-DB zugreifen. Undzwar über eine ADO Connection.

 if (!$conn = new COM("ADODB.Connection"))
        exit("Unable to create an ADODB connection<br>");
    $strConn = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" . realpath("test.mdb"); 
    $conn->open($strConn);


----------



## mgd-one (21. April 2004)

Danke, danke. Kannst du mir auch sagen wie man dann ein Query sendet? Bzw. wie man die SQL Befehle dann benutzt?


----------



## Deemax (21. April 2004)

```
$ssql="SELECT ....";

$rs = $conn->execute($ssql);
    $value1 = $rs->Fields(0);
    $value2 = $rs->Fields(1);
    while (!$rs->EOF) 
    {
		$s_room = $s_room .$value1->value."~".$value2->value."#";
        $rs->MoveNext(); 
    }
```


----------

