Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo Leute,

ich habe Mal wieder ein Problem.

Ich habe eine Website bekommen die ODBC_ Funktionen nutzt.

Leider wird mir nur eine weiße Seite angezeigt. Ich konnte bereits rausfinden, dass es tatsächlich nur an den odbc_ Funktionen liegt.

Beispiel:

In der SQL.php wird per odbc_connect eine Verbindung erzeugt.

Ich habe diese Kurzerhand auf mssql_connect umgeschrieben und dann wird zumindest ein Teil der Website korrekt angezeigt.

post-86876-14430450170641_thumb.png

Das php5-odbc Paket wurde via apt-get install php5-odbc installiert und wird in der phpinfo angezeigt.

post-86876-14430450170195_thumb.png

Kann es sein

  • Autor

Es werden keine Fehler angezeigt.

Ich habe error.log und sogar access.log gecheckt.

Ich lern ja auch dazu :P

Wie gesagt wenn ich Testweise mssql_connect benutze wird zumindest dann ein Teil der Website angezeigt. Daraus folgere ich, dass die ODBC_ Funktionen nicht richtig genutzt werden können.

1. ist odbc_connect auskommentiert, da passiert also sowieso nichts.

2. ist vor dem ocbc_connect ein @, das unterdrückt die Fehlermeldung der nachfolgenden Funktion/Methode.

3. error_reporting(E_ALL) an?

4. solltest du dich einmal mit Fehlerbehandlung (Stichwort Exception) außeinandersetzen.

  • Autor

Hey pr0gg3r,

ja das ist auskommentiert weil ich eben damit getestet hab und rausgefunden habe, dass es an den odbc_ liegt.

Ja E_ALL ist an.

Warning: odbc_connect(): SQL error: [unixODBC][Driver Manager]Data source name not found, and no default driver specified, SQL state IM002 in SQLConnect in /var/www/_incl/sql.php on line 7

Fatal error: Uncaught exception 'Exception' with message 'Database connection failed, please make sure that you've filled in sql login info correctly.' in /var/www/_incl/sql.php:9 Stack trace: #0 /var/www/_incl/config.php(33): SQL->__construct('IPIP\\mo...', 'user', 'pw', 'dbname') #1 /var/www/index.php(3): include('/var/www/_incl/...') #2 {main} thrown in /var/www/_incl/sql.php on line 9

  • Autor

Ich weiß nicht warum, aber eig hatte ich mehr gepostet...

Das hier fehlte noch:

sqlcmd liefert dennoch folgende Meldung:

Sqlcmd: Error: Microsoft ODBC Driver 11 for SQL Server : Login timeout expired.

Sqlcmd: Error: Microsoft ODBC Driver 11 for SQL Server : A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online..

Sqlcmd: Error: Microsoft ODBC Driver 11 for SQL Server : TCP Provider: Error code 0x2AF9.

Scheinbar glaube ich, dass nur eine kleine Konfigurationsanpassung von nöten ist. Aber ich finde keine Lösung.

Hi,

ich sags nur ungern, aber so wie du postest stiftest du mehr Verwirrung als man verarbeiten kann. Zum einen betrifft dieser Fehler ja jetzt den SQL Server, wo du weiter oben noch geschrieben hattest, dass dieser funktionieren würde. Zum anderen ist ja eigentlich klar was da steht: Der Server ist nicht erreichbar.

Was genau ist jetzt das Problem? Du versuchst, dich mit PHP mit einer MySQL DB zu verbinden, oder an den SQL-Server von Microsoft?

...zumindest dann ein Teil der Website angezeigt.

Das impliziert ja, dass es auch nicht ganz klappt?!

  • Autor
Hi,

ich sags nur ungern, aber so wie du postest stiftest du mehr Verwirrung als man verarbeiten kann. Zum einen betrifft dieser Fehler ja jetzt den SQL Server, wo du weiter oben noch geschrieben hattest, dass dieser funktionieren würde. Zum anderen ist ja eigentlich klar was da steht: Der Server ist nicht erreichbar.

Was genau ist jetzt das Problem? Du versuchst, dich mit PHP mit einer MySQL DB zu verbinden, oder an den SQL-Server von Microsoft?

Das impliziert ja, dass es auch nicht ganz klappt?!

Vom Windows Webserver aus (und nein, der SQL läuft dort nicht lokal) kann ich tadellos auf die Instanz zugreifen.

Ich bin mir sicher, dass der SQL nichts damit zu tun hat. Wenn ich auf dem Debian wie gesagt mssql_connect statt odbc_connect verwende geht ja alles - zumindest der Teil der Website wird angezeigt der nicht auf odbc_ Funktionen zurückgreift.

Vom Windows Webserver aus (und nein, der SQL läuft dort nicht lokal) kann ich tadellos auf die Instanz zugreifen.

Ich bin mir sicher, dass der SQL nichts damit zu tun hat. Wenn ich auf dem Debian wie gesagt mssql_connect statt odbc_connect verwende geht ja alles - zumindest der Teil der Website wird angezeigt der nicht auf odbc_ Funktionen zurückgreift.

Kannst du auch von außen auf die MSSQL-Datenbank zugreifen? Nicht dass die Firewall etwas sperrt bzw. die Port nicht offen sind.

Sqlcmd: Error: Microsoft ODBC Driver 11 for SQL Server : A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online..

Deutet darauf hin.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.