PHP + ODBC-Frage

Ihr habt Probleme mit anderen Marken? Oder mit Sachen, die nicht euren Löwen betreffen? Dann ist das genau die richtige Schublade für euch.
Antworten
Benutzeravatar
vulkanus
Polizistenkuschler
Beiträge: 5939
Registriert: Mi 21.03.01 00:00
Postleitzahl: 4655
Land: Oesterreich
Wohnort: GM/OÖ

PHP + ODBC-Frage

Beitrag von vulkanus » Fr 31.03.06 12:14

Morgän :)

Ich habe vor geraumer Zeit ein Script geschrieben welches einige Daten aus einer ODBC-Datenbank ausliest. Anfangs funktionierte es auch einwandfrei, seit ein paar Wochen habe ich jetzt allerdings das Problem dass keine Verbindung mehr zustande kommt. An dem Script und am Server wurde nichts verändert, insofern ists mir etwas rätselhaft. Es existieren weder ein Fehlercode noch eine Fehlermessage.

Folgender Code wird im Moment verwendet:

Code: Alles auswählen

$odbc = odbc_connect("Driver={Microsoft Access Driver (*.mdb)};Dbq=\\\\192.168.5.1\\wawi\\db\\xxxxx_kopie.mdb;Uid=Administrator;Pwd=xxxxx;");

if (!$odbc) { echo "<p style=\"color:red\"><b>Keine Verbindung zur Datenbank möglich.<br>Bitte alle MySSB-Sitzungen beenden und erneut versuchen.<br><a href=\"javascript:window.history.back()\">Zurück</a></p>"; }

$query = "SELECT Rechnungsnummer,Bruttobetrag,Rechnungsdatum,R_Kundennummer FROM Belege_Kopf WHERE Rechnungsnummer='xxxxx'";
$result = odbc_ex ec($odbc, $query); #(Leerzeichen bei exec wegdenken...)
echo "<br>fehler: " . odbc_error($odbc) . " - " . odbc_errormsg($odbc);
while (odbc_fetch_row($result))
  {
    echo "rechnungsnummer = " . odbc_result($result, "Rechnungsnummer");
    $data_rechnungsnummer = $opt_text_rechnungsnummer . odbc_result($result, "Rechnungsnummer");
    $data_rechnungsdatum = $opt_text_rechnungsdatum . date('d.m.y', strtotime(odbc_result($result, "Rechnungsdatum")));
    $data_kundennummer = $opt_text_kundennummer . odbc_result($result, "R_Kundennummer");
    $data_betrag = number_format(odbc_result($result, "Bruttobetrag"), 2, ",", ".");
  }
Würd mich freuen wenn da jemand nen scharfen Tipp hätte...

MfG Andreas
KTM - Ready to repair :D

Benutzeravatar
pug205gti1.9
Strafzettelsammler
Beiträge: 449
Registriert: So 04.12.05 23:16
Land: Deutschland
Wohnort: Freistadt, OÖ

Re: PHP + ODBC-Frage

Beitrag von pug205gti1.9 » Fr 31.03.06 12:20

Hast du kontrolliert ob die IP verändert wurde??
Gibt er "Keine Verbindung zur Datenbank möglich....." aus??

Benutzeravatar
darKing
Zufrühabschnaller
Beiträge: 650
Registriert: So 06.03.05 13:56
Land: Deutschland
Wohnort: Berlin & Meiningen; Thüringen
Kontaktdaten:

Re: PHP + ODBC-Frage

Beitrag von darKing » Fr 31.03.06 12:22

Die Zeile find ich net schlecht :)
"odbc_ex ec($odbc, $query); #(Leerzeichen bei exec wegdenken...)"

Aber wenn weder was am Server noch am Code gemacht wurde.. wieso sollte es dann plötzlich nicht mehr funzen... *g*

Da wird sich schon was geändert haben :floet:
Vielleicht mal ganz scharf nachdenken / forschen

BamBam
Rückwärtseinparker
Beiträge: 4264
Registriert: Mi 21.03.01 00:00
Land: Deutschland

Re: PHP + ODBC-Frage

Beitrag von BamBam » Fr 31.03.06 12:24

über den server wissen wir zuwenig :D
firewall? (regel geändert?,protokolle?ports?dienste?)

Benutzeravatar
vulkanus
Polizistenkuschler
Beiträge: 5939
Registriert: Mi 21.03.01 00:00
Postleitzahl: 4655
Land: Oesterreich
Wohnort: GM/OÖ

Re: PHP + ODBC-Frage

Beitrag von vulkanus » Fr 31.03.06 13:07

> pug205gti1.9 schrieb:
> Hast du kontrolliert ob die IP verändert wurde??

Nein, ist aber eher unwahrscheinlich da dieser Rechner gleichzeitig Gateway ist und ich sonst nix posten könnte ;)

> Gibt er "Keine Verbindung zur Datenbank möglich....." aus??

Ja, gibt er aus.

> darKing schrieb:
> Die Zeile find ich net schlecht :)
> "odbc_ex ec($odbc, $query); #(Leerzeichen bei exec wegdenken...)"

War nötig da das Forum ein Permission denied ausspuckt wenn man das exec zusammenschreibt. Bug oder Feature? *g*

> Aber wenn weder was am Server noch am Code gemacht wurde.. wieso sollte es dann plötzlich nicht mehr funzen... *g*

Das frag ich ja euch :D

> Da wird sich schon was geändert haben :floet:
> Vielleicht mal ganz scharf nachdenken / forschen

Es wurde ein User gelöscht und die Backups werden häufiger durchgeführt.

> BamBam schrieb:
> über den server wissen wir zuwenig :D
> firewall? (regel geändert?,protokolle?ports?dienste?)

Firewall vorhanden, iss eigentlich alles verboten was ned explizit erlaubt wurde. Port 7210 ist allerdings für UDP und TCP freigeschaltet. Per telnet antwortet auf diesem Port allerdings kein Dienst, werde daher weiterhin nach von ODBC-genutzten Ports suchen.


Hab noch ein paar weitere Dinge kontrolliert:
- Datei existiert selbstverständlich.
- Über den Netzwerkpfad kann zugegriffen werden. Die Freigabe ist allerdings auf Freigabe- und Systemebene auf den Administrator- und die User-Accounts beschränkt. Eine Aktivierung von Jeder mit Vollzugriff brachte allerdings keine Änderung.
- Der Versuch die Datei lokal anzusprechen (Apache + File auf dem selben Rechner) schlägt ebenfalls fehl.
- Nen ODBC-Dienst gibts ja offenbar keinen... Oder heisst der irgendwie komplett anders?
KTM - Ready to repair :D

Benutzeravatar
vulkanus
Polizistenkuschler
Beiträge: 5939
Registriert: Mi 21.03.01 00:00
Postleitzahl: 4655
Land: Oesterreich
Wohnort: GM/OÖ

Re: PHP + ODBC-Frage

Beitrag von vulkanus » Fr 31.03.06 14:15

So, Problem gelöst. Hab jetzt nen DSN angelegt, mit dem funktionierts einwandfrei. Im Gegensatz zu der Lösung über den direkten Dateizugriff sogar dann wenn andere Probramme auf die selbe Datenbank zugreifen :idea:

Code: Alles auswählen

$odbc = odbc_connect(dsn, user, password);
Ich danke allen die sich über mein Problem Gedanken gemacht haben :)
Das eine Problem gelöst, das nächste aufgetaucht: Hat grad ziemlich zu Regnen begonnen, trocken komm ich also keinesfalls bis zum Auto... :gruebel: :auslach:
KTM - Ready to repair :D

Antworten