Fehlermeldung bei ODBC connect auf MS Access

Wir haben ein Messgerät, welches seine Daten in eine Locale Access Datenbank schreibt.
Diese Daten möchte ich dann immer manuell über eine PHP Anwendung in eine zentrale Oracle Datenbank übertragen.

Der Connect auf die Access DB funktioniert nicht (siehe Fehlermeldung 1. Post).
Es scheint ja mit dem Webserver zusammen zu hängen das ich diese Fehlermeldung bekomme.

Muss ich dafür was in der TNSNames.ora anlegen. gibt es vllt Einstellungen die ich in der php.ini setzen oder einfügen muss.
Und was war mit sql.net. Was ist das und was müsste ich da Einstellen.


Könntet ihr mir dazu mal ne kurze Auskunft geben.

Grüße ausm Schwobeländle :)
 
Also mach bloß keine Änderungen an der Tnsnames.ora, die ist nur für den Connect zur OraDB zuständig und der funktioniert ja.

Die Fehlermeldung in deinem 1. Post sagt aus, das die ODBC-Verbindung nicht gefunden wird. Du kannst die Verbindung ja mal mit einem andren Programm, z.B. Excel oder sogar Access testen. Ich habe schon mal erlebt, das ich die Verbindung als Benutzer-DSN anlegen musste.
 
Mit Excel hab ich es probiert funktioniert einwandfrei. Wobei man dort nach der ODBC Treiberauswahl den Pfad zur Access Datenbank nochmal manuell angeben muss, obwohl der Pfad in den ODBC Einstellungen ja schon hinterlegt ist

Aber lässt [unixODBC][Driver Manager]Data source name not found nicht darauf schließen das es was mit dem Server zu tun haben muss. Muss der ODBC Treiber auch auf dem Webserver installiert sein? Da die Fehlermeldung [unixODBC] enthält.

Data source name not found:
Die Access Datenbank darf doch local abliegen oder muss die auf dem Apache Space liegen, was für mich keinen Sinn machen würde?
 
Es kommt darauf an, wer den PHP-Code ausführt. Wenn das der Apache-Server ist, arbeitet er den Code ab und macht auch den Connect auf die Datenbanken. Also muß bei ihm (dem Apache-Server) die ODBC-Verbindung konfiguriert werden. Du bekommst nur das Ergebnis zurück.

Die Datenbank darf irgendwo im Netz liegen, hauptsache der ODBC-Treiber ist richtig konfiguriert.
 
Danke

Das ist dann wohl das Problem.
Dann muss ich mal mit unserer IT nen ODBC Treiber für UNIX suchen.
Oder hättest du da nen link für einen freeware ODBC Treiber(UNXI) für mich.
 
Ich hab da noch ein offenes Problem:

Der Connect auf die MS-Acces DB funktioniert jetzt und die ersten Daten kommen an.

Mein Code:
$access_db = odbc_connect("MS_ACCESS_SERVER","","");
$access_query = "SELECT * FROM wafer";
$access_result = odbc_exec($access_db, $access_query);
while (odbc_fetch_into($access_result, &$access_values)) {
echo"\$access_values[0] = $access_values[0]<br>";
echo"\$access_values[1] = $access_values[1]<br>";
}

Nach der 36. Zeile bekommen ich aber folgenden Fehler

Warning: odbc_fetch_into() [function.odbc-fetch-into]: SQL error: [Microsoft][ODBC Microsoft Access Driver]Ungültige Cursorposition; es wurde kein Keyset definiert. , SQL state S1109 in SQLGetData in ....

Es muss wohl an dieser Zeile liegen, es hat schon mal nicht mit der Anzahl der Values zu tun. Wenn ich where ID>20 mache bleibt er auch bei Zeile 36 stehen.

Bedeutet das vllt das ich am Ende der Tabelle bin ?
Kann mir vllt jemand erklären wie ich hier weiter komme?
 

Neue Beiträge

Zurück