azub1: MsSQL über XAMPP keine Verbindung

Hallo

ich habe hier XAMPP mit PHP Version 5.2.5 am laufen,
der hat auch einen MySQL Server installiert, vorher hatte
ich allerdings schon einen MsSQL Express Server am laufen.

MsSQL hat unter Sicherheit/Anmeldung
den user "test" mit passwort "aaaaa"
Es wird die SQL-Server Auth statt der windows Auth genutzt.

Version von windows + MsSQL:
Microsoft SQL Server Management Studio Express      9.00.2047.00
Microsoft Data Access Components (MDAC)      2000.085.1117.00 (xpsp_sp2_rtm.040803-2158)
Microsoft MSXML      2.6 3.0 4.0 6.0
Microsoft Internet Explorer      6.0.2900.2180
Microsoft .NET Framework      2.0.50727.42
Betriebssystem      5.1.2600

Nun hab ich eine Datenbank mit dem Namen "cdcol" erstellt mit
der Tabelle "cds" erstellt.

Wenn ich nun eine php datei mit Inhalt:
<html><head><title>Mssql</title>
</head><body>
php by apache for xampp with mssql db connect<br><table border="1">
<tr><th>Interpret</th><th>Titel</th><th>Jahr</th></tr>

<?php
if(@mssql_connect("localhost","test","aaaaa"))
{
mssql_select_db("cdcol") or die("not 1337 enough");

$result = mssql_query("SELECT * FROM cds");
while ($row = mssql_fetch_array($result))
{
 echo "<tr>";
 echo "<td>".$row['Interpret']."</td>";
 echo "<td>".$row['Titel']."</td>";
 echo "<td>".$row['Jahr']."</td>";
 echo "</tr>";
}
mssql_close();
}
else
{
 echo "keine verbindung";
}
?>
</table></body></html>

und die im xampp/htdocs speichere und aufrufe wird mir
nur keine verbindung + html code ausgegeben.
Es laufen sowohl der MySQL als auch der MsSQL Server.

Auch unser Tutor weiß nicht weiter.
Kann mir bitte jemand helfen.

Mit freundlichen Grüßen

  1. Hello,

    Auch unser Tutor weiß nicht weiter.

    könnte ein Problem mit PHP sein, könnte ein Problem dessen sein, welche Verbindungen der MSSQL-Server zulässt.

    Kann mir bitte jemand helfen.

    Hast du mal mssql_get_last_message versucht?

    MfG
    Rouven

    --
    -------------------
    sh:| fo:} ch:? rl:( br:& n4:{ ie:| mo:} va:) js:| de:] zu:| fl:( ss:) ls:& (SelfCode)
    Ambition is the last refuge of failure.  --  Oscar Wilde (Irish Poet, Novelist, Dramatist and Critic, 1854-1900)
    1. mssql_get_last_message()

      else
      {
       exit(mssql_get_last_message());
      }

      bzw

      else
      {
       echo mssql_get_last_message();
      }

      gibt mir nichts aus!

      Hab im Microsoft SQL Server Managment Studio Express unter
      Sicherheit/Anmeldung den User "sa", dem hab ich nu auch SQL Server
      Auth das pass "aaaaa" zugewiesen.
      Unten Links steht noch:
      Server: H178030\SQLEXPRESS
      Verbindung: H178030\Azubi
      Status: bereit

      if(@mssql_connect("H178030\SQLEXPRESS","sa","aaaaa"))
      so gehts aber auch nicht.

      1. Hello,

        if(@mssql_connect("H178030\SQLEXPRESS","sa","aaaaa"))

        hmh, wenn der Server nicht mit dir sprechen will, guck mal ob PHP es tut. Nimm mal das "@" weg, kommt dann eine aussagekräftige Fehlermeldung? Nach den Kommentaren, die ich gefunden habe, ist das hier als Serverangabe auf jeden Fall der bevorzugte Weg.

        MfG
        Rouven

        --
        -------------------
        sh:| fo:} ch:? rl:( br:& n4:{ ie:| mo:} va:) js:| de:] zu:| fl:( ss:) ls:& (SelfCode)
        Unser Problem ist, dass wir eine Demokratie entwickelt haben, was nicht immer der richtige Weg ist  --  Bernie Ecclestone zu den lästigen Diskussionen um Regeländerungen in der Formel 1
        1. ohne das @ kommt folgende fehlermeldung
          Warning: mssql_connect() [function.mssql-connect]: Unable to connect to server: localhost in C:\Programme\xampp\htdocs\mssql.php on line 14

          statt localhost hab ich auch den Rechnernamen genommen, gleiche in grün.

          echo phpinfo() gibt mir die normale phpinfo seite aus. Sprich php rennt.
          Irgendwas an den Einstellungen von MsSQL was ich mal überprüfen sollte/könntE?

          1. Yerf!

            statt localhost hab ich auch den Rechnernamen genommen, gleiche in grün.

            Nur den Rechnernamen oder inklusive dem Instanznamen (SQLEXPRESS)? Da es sich scheinbar um eine benannte Instanz handelt muss der Name immer mit angegeben werden (rechnername\instanzname).

            Irgendwas an den Einstellungen von MsSQL was ich mal überprüfen sollte/könntE?

            Hm, wie versucht PHP auf den Server zuzugreifen? Evtl. per TCP/IP und das ist am Server deaktiviert? Es müsste da einen Konfiguartions-Manager geben, über den sich die Protokolle des Servers einstellen lassen.

            Gruß,

            Harlequin

            --
            <!--[if IE]>This page is best viewed with a webbrowser. Get one today!<![endif]-->
            1. Läuft alles lokal h ier auf einem Rechner.

              Aus der phpinfo:

              PATH  C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Programme\QuickTime\QTSystem;c:\Programme\Microsoft SQL Server\90\Tools\binn\

              mssql
              MSSQL Support enabled
              Active Persistent Links  0
              Active Links  0
              Library version  7.0

              Directive Local Value Master Value
              mssql.allow_persistent On On
              mssql.batchsize 0 0
              mssql.compatability_mode Off Off
              mssql.connect_timeout 5 5
              mssql.datetimeconvert On On
              mssql.max_links Unlimited Unlimited
              mssql.max_persistent Unlimited Unlimited
              mssql.max_procs Unlimited Unlimited
              mssql.min_error_severity 10 10
              mssql.min_message_severity 10 10
              mssql.secure_connection Off Off
              mssql.textlimit Server default Server default
              mssql.textsize Server default Server default
              mssql.timeout 60 60

              Ich habe es vorhin auch schon mit localhost\SQLEXPRESS versucht, geht aber
              auch nicht.

              1. statt localhost geht auch . ... also dann entsprechend [.\SQLEXPRESS]   (ohne die eckigen Klammern)

                • Implementiert dieses PHP Zeugs einen eigenen Provider/Treiber um mit dem SQL zu kommunizieren oder setzt es auf den Sql Server Client (SQLOLEDB) auf?
                • Hast du sonst irgendwas auf deinem Rechner, womit du eine Verbindung zum mssql Server herstellen kannst, z.b. Query Analyzer, Enterprise Manager, Management Studio ...

                Ciao, Frank

                1. statt localhost geht auch . ... also dann entsprechend [.\SQLEXPRESS]   (ohne die eckigen Klammern)

                  • Implementiert dieses PHP Zeugs einen eigenen Provider/Treiber um mit dem SQL zu kommunizieren oder setzt es auf den Sql Server Client (SQLOLEDB) auf?
                  • Hast du sonst irgendwas auf deinem Rechner, womit du eine Verbindung zum mssql Server herstellen kannst, z.b. Query Analyzer, Enterprise Manager, Management Studio ...

                  Ciao, Frank

                  mit .\SQLEXPRESS schmeißt er mir immerhin schon
                  eine neue Fehlermeldung:
                  Warning: mssql_connect() [function.mssql-connect]: Unable to connect to server: .\SQLEXPRESS in C:\Programme\xampp\htdocs\mysql.php on line 14
                  Fehler bei der Anmeldung für den Benutzer 'Apache'. Der Benutzer ist keiner vertrauenswürdigen SQL Server-Verbindung zugeordnet.

                  Zum verbinden nutz ich bisher Microsoft SQL Server Managment Studio Express
                  mit win-Auth.

                  1. Warning: mssql_connect() [function.mssql-connect]: Unable to connect to server: .\SQLEXPRESS in C:\Programme\xampp\htdocs\mysql.php on line 14

                    _my_sql.php????

                    MSSQL Express hat standardmässig _nur_ die Windows Authentication aktiviert. Du willst dich aber mit einem Login "Apache" ... welches sicher kein Windows Login/Account auf der Maschine ist, falls es denn überhaupt wenigstens als SQL Login auf deinem MSSQL Express existiert.

                    Du kannst die Authentication auf Mixed Mode über die Eigenschaften des Servers (Object Explorer im Management Studio) unter Security umstellen.

                    Gruss, Frank

          2. Hallo,

            echo phpinfo() gibt mir die normale phpinfo seite aus. Sprich php rennt.
            Irgendwas an den Einstellungen von MsSQL was ich mal überprüfen sollte/könntE?

            Scroll mal runter und gugg, was da in denn für Angaben für MSSQL für PHP gemacht wurden.
            Wo läuft denn der Webserver als XAMPP und der MSSQL? Auf dem selben Server? Welchen Port verwendet MSSQL?
            Läuft eine FW, die die Verbindung verhindert?

            Gruß,
            Leeloo

            --
            "Als es noch keine Computer gab, war das Programmieren noch relativ einfach." - Edsger W. Dijkstra