Syntax für DB-Connection

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Syntax für DB-Connection

    Hallo, habe zwei Fragen bezüglich der Verbindung zu einer MS-SQL Datenbank:

    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:

    Code:
    define('DBHOST','slr0ap01');             // Hostname
    Was allerdings nicht funktioniert. Hab es auch schon mit Blackslashes versucht

    Code:
    define('DBHOST','\\slr0ap01');             // Hostname
    Aber das funktioniert genau so wenig ... Hat da jemand einen Rat?


    2.) Wie muss ich die connect.inc umschreiben, wenn diese bislang auf mySQL geschrieben war. Also konkret lautet sie derzeit:

    Code:
    <?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());
    ?>
    Ein erster Versuch in Form einer naiven Änderung von allen "my" in "ms" hat nicht zum Erfolg geführt ... :-)

  • #2
    mysql_connect() verbindet zu MySQL.
    mssql_connect() zu MSSQL
    it's not a bug,
    it's a feature!

    Kommentar


    • #3
      Ok, das mit dem Verbindung von msSQL anstatt mySQL scheint dann geklärt, jedoch bleibt immer noch die Frage:


      Wie lautet die korrekte Syntax für den Hostname, um eine Verbindung herzustellen?

      Derzeit (funktioniert nicht):

      PHP-Code:
      define('DBHOST','slr0ap01');             // Hostname) 
      Alternativ (funktioniert auch nicht):

      PHP-Code:
      define('DBHOST','19.100.20.105');             // Hostname) 

      Kommentar


      • #4
        Lies doch die Kommentare im PHP-Manual hinter dem Link der hier schon gepostet wurde.

        Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

        bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
        Wie man Fragen richtig stellt

        Kommentar


        • #5
          Original geschrieben von ghostgambler
          Lies doch die Kommentare im PHP-Manual hinter dem Link der hier schon gepostet wurde.
          Hab ich jetzt mal gemacht, war ja einiges. Vor allem ne tolle Zeitverschwendung.

          Oder hattest du da etwas rausgelesen was mir evtl. helfen könnte? Wenn ja wäre ich wirklich dankbar für einen (eindeutigen) Hinweis.

          Kommentar


          • #6
            Ohne Dir jetzt etwas Böses zu wollen. Aber wenn Du Deinen DB-Host nicht kennst, frag Deinen Provider. Der wird Dir hier sicherlich Auskunft geben können. Denn mal ehrlich, woher soll hier jemand wissen, wie Dein DB-Host lautet?

            Deine connect.inc.php müsstest Du eben nur auf die MS SQL Funktionen hin anpassen. Denn mit MySQL Funktionen wirst Du bezüglich MS SQL kein Erfolg haben.

            Und mach mal das @ weg.
            MM Newmedia | MeinBlog

            Kommentar


            • #7
              Es gibt keinen "Hoster" :-)
              Es handelt sich hierbei um ein Firmennetzwerk und mir sind alle Daten die notwendig sind bekannt.

              Ich suche nicht den "Namen" des Hosts - sondern den richtigen Syntax

              Beispiel: Heisst es richtig

              PHP-Code:
              define('DBHOST','slr0ap01'); 
              oder
              PHP-Code:
              define('DBHOST','\\slr0ap01'); 
              oder
              PHP-Code:
              define('DBHOST','19.199.20.100'); 
              oder
              PHP-Code:
              define('DBHOST','http://19.199.20.100'); 

              oder oder oder ... btw: Die oben stehenden Versionen hab ich einfach schon ausprobiert, funktionieren aber alle leider nicht ... Darum meine Frage: Wie lautet der richtige Syntax?

              Kommentar


              • #8
                die richtige syntax wäre
                mssql_connect ('19.199.20.100', $Benutzername ,$Passwort );

                Allerdings kann bei mssql auch ne menge in der konfiguration zu beheben sein. ZB tcp/ip aktivieren, etc.
                Beantworte nie Threads mit mehr als 15 followups...
                Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                Kommentar


                • #9
                  Die wichstigste Frage ist: Ist der Zugriff über Netzwerk erlaubt? Oder lässt sich das DBMS nur über localhost verbinden? Diese Frage musst du erstmal klären, danach kannst du mit NetBiOS-Name den Server ansprechen; es ist besser als über die IP. Außerdem, wenn es sich um MS-SQL Server handelt, dann musst du auch noch prüfen, wieviele Instanzen des MS-SQL-Server auf dem Rechner laufen, und wenn mehrere sind, dann den SQL-Server mit dem richtigen Instanzname ansprechen und nicht den Windowservernamen.

                  Kommentar


                  • #10
                    Original geschrieben von asp2php
                    Außerdem, wenn es sich um MS-SQL Server handelt, dann musst du auch noch prüfen, wieviele Instanzen des MS-SQL-Server auf dem Rechner laufen, und wenn mehrere sind, dann den SQL-Server mit dem richtigen Instanzname ansprechen und nicht den Windowservernamen.
                    Oha ...sehr interessant... Also auf dem SQL Server laufen mehrere DBs die für unterschiedliche Benutzer Zugriffsrechte erlauben. Inwieweit das jetzt in "Instanzen" unterteilt ist weiss ich leider gar nicht, da ich davon (noch) keine Ahnung habe ... da muss ich mal versuchen mich schlau zu machen ... danke für den Hinweis!


                    @MellowPie: Danke für die Antwort, jetzt habe ich das wenigstens schonmal inner Reihe

                    Kommentar


                    • #11
                      SQL-Server Instanz != DB

                      Eine Instanz des SQL-Servers bedeutet ein komplettes Datenbanksystem. Eine Instanz kann mehrere DBs verwalten (IMHO bis zu 32 tausend). IMHO, auf einem Rechner kann bis zu 50 Instanzen installiert werden (im Clusterbetrieb 25)

                      Du kannst den Dienst-Snap-In aufrufen und prüfen, wieviele Instanzen von MS-SQL läuft.

                      Kommentar


                      • #12
                        Es läuft nur 1 Instanz auf dem Server. Anpingen klappt super.

                        Vielleicht ist einfach nur mein Connection-Script schrott :-(
                        Gibt es ein Standard Connection-Script, was ich einfach mal ausprobieren kann obs generell funktioniert zu der DB zu connecten?

                        Kommentar


                        • #13
                          mssql_connect() geht so. Was sagt mssql_get_last_message()?

                          Kommentar


                          • #14
                            Original geschrieben von asp2php
                            Was sagt mssql_get_last_message()?
                            mssql_get_last_message(); sagt leider gar nichts :-(
                            Egal in welcher Form ich es irgendwo einfüge liefert es keinen Wert zurück ... :-/

                            Kommentar


                            • #15
                              Original geschrieben von asp2php
                              mssql_connect() geht so. Was sagt mssql_get_last_message()?
                              Ah doch, habe noch die Klammern vergessen, jetzt zeigt er an:

                              Warning: mssql_connect() [function.mssql-connect]: Unable to connect to server: slr0ap01

                              Kommentar

                              Lädt...
                              X