Connection zu MS SQL Datenbank

  • [FONT=Verdana, Geneva, Arial, Helvetica, sans-serif]Hallo, habe zwei Fragen bezüglich der Verbindung zu einer MS-SQL Datenbank:[/FONT]

    [FONT=Verdana, Geneva, Arial, Helvetica, sans-serif]1.) Wie lautet die korrekte Syntax für den Host, wenn der DB-Server nicht gleich dem Web-Server ist? Angenommen der Host heisst slr0ap01 - habe dann in der config.inc stehen:[/FONT]

    Code
    define('DBHOST','slr0ap01'); // Hostname



    [FONT=Verdana, Geneva, Arial, Helvetica, sans-serif]Was allerdings nicht funktioniert. Hab es auch schon mit Blackslashes versucht[/FONT]

    Code
    define('DBHOST','\\slr0ap01'); // Hostname


    [FONT=Verdana, Geneva, Arial, Helvetica, sans-serif]Aber das funktioniert genau so wenig ... Hat da jemand einen Rat?[/FONT]


    [FONT=Verdana, Geneva, Arial, Helvetica, sans-serif]2.) Wie muss ich die connect.inc umschreiben, wenn diese bislang auf mySQL geschrieben war. Also konkret lautet sie derzeit:[/FONT]

    PHP
    <?php@mysql_connect(DBHOST, DBUSER, DBPASS) OR die("Fehler: Keine Verbindung zur Datenbank möglich.");
    mysql_select_db(DBBASE) OR die("Konnte Datenbank nicht benutzen. Fehlermeldung: ".mysql_error());?>


    [FONT=Verdana, Geneva, Arial, Helvetica, sans-serif]Ein erster Versuch in Form einer naiven Änderung von allen "my" in "ms" hat nicht zum Erfolg geführt ... :-)[/FONT]

  • Funktioniert ein "ping slr0ap01" von dem Rechner aus? Alternativ könntest du auch die IP-Nummer eintragen. Oder der MySQL-Server lässt keine Zugriffe von außen zu.

  • Funktioniert ein "ping slr0ap01" von dem Rechner aus?


    Kann ich leider nicht ausprobieren, da ich kein CMD oder Eingabeaufforderung starten kann von dem Rechner aus :-/

    Zitat

    Oder der MySQL-Server lässt keine Zugriffe von außen zu.


    Doch das ist der Fall, laufen ja auch andere DBs drauf, aber keiner der Helden hier weiss von wo aus die angesteuert werden oder welche Programme darauf zugreifen :(

  • Dann versuche die IP-Adresse. Wenn Zugriff von außen erlaubt ist und der Rechnername nicht funktioniert, dann scheint das ein DNS-Problem zu sein.

  • Du wirst doch irgendwie in die IP-Adresse des Servers kommen, oder? Und die trägst du dann bei DBHOST ein.

  • 1. Sicher, dass der MySQL-Server externen Zugriff erlaubt?
    2. Ist Apache so konfiguriert, dass es externe Zugriffe ausführen kann? Probier z. B. mal <?=file_get_contents('http://google.de')?>, wenn es dort eine Fehlermeldung gibt, ist es gut möglich, dass es daher mit MySQL auch nicht geht.
    3. Anderes Netzwerkproblem? Irgendwie hinbekommen, etwas mit ping zu machen?
    4. Bist du dir ganz sicher, dass keine Verbindung existiert? Es gibt einen Befehl 'mysql_ping', wenn du den mal nach dem Verbinden probierst?

  • Pingen hat jetzt wunderbar geklappt, und auch "telnet slr0ap01 1433" hat eine Verbindung zum SQL-Server zugelassen und eine entsprechende Antwort zurückgegeben ...

    Also hängts wohl doch am Connection-Code ... ? :-/

    4 Mal editiert, zuletzt von Lavingstar (7. November 2008 um 14:58)

  • Jetzt mal ganz blöd nachgefragt. Reden wir hier von einem MS-SQL-Server oder von einem MySQL-Server?

  • Es geht immer noch um einen MS SQL Server ...

    Nochmal kurz zur besseren Übersicht:
    Ich habe eine Anwendung in PHP erstellt mit mySQL Datenbank. Nun soll diese Anwendung auf einer MSSQL Datenbank zum Laufen gebracht werden ...

  • PHP
    <?php
    DEFINE("DBHOST","IP");
    DEFINE("DBUSER","Username");
    DEFINE("DBPASS","Passwort");
    
    
    mssql_connect(DBHOST,DBUSER,DBPASS) or die(mssql_get_last_message());
    
    
    ?>

    Ich kenn mich zwar nicht damit aus, aber probier mal das hier:
    mssql_get_last_message — Gibt die letzte Meldung des Servers zurück

    Vielleicht bringts ja was ;)

    Der frühe Vogel fängt den Wurm,
    aber die zweite Maus bekommt den Käse.

  • Ich kenn mich zwar nicht damit aus, aber probier mal das hier:
    mssql_get_last_message — Gibt die letzte Meldung des Servers zurück

    Vielleicht bringts ja was ;)




    Danke, das ist nett von dir - habe ich auch sogar schon versucht, leider ohne (neues) Ergebnis :o

  • Fehler gefunden:

    Ein Austausch einer Datei brachte die Lösung:

    Es hing an der Datei ntwdblib.dll von XAMPP ...
    die musste ich ersetzen mit der der Version 2000.80.194.0 - damit gings einwandfrei 8)