Vitali: mssql_select_db

Tach

--------------------------------------------------------------

mssql_select_db("HEAT");
mssql_select_db("GoldMine_Sales_And_Marketing");

$query = "SELECT * FROM config, CONTACT1 WHERE CONTACT1.ACCOUNTNO = config.CustID AND  config.Abr_Q = 'T' OR config.Abr_Jahr = 'T'";

$result = mssql_query($query);

while($row_heat = mssql_fetch_object($result))
{

$Company = $row->COMPANY;

$Produkt = $row_heat->Produkt;
  $Vertragssumme = $row_heat->SupportCost;
  $Anteil_EDC = $row_heat->Anteil_EDC;
  $Level_Part = $row_heat->secondlvl_partner;
  $Akt_Laufzeit = $row_heat->SupportExpDate;
  $Vertragsdauer = $row_heat->Vertragsdatum;
  $Letzte_RE = $row_heat->last_bill;
  $Quartals_RE = $row_heat->Abr_Q;

}

---------------------------------------------------------------

Leider gibt das einen Fehler, ich denke weil ich zwei Datenbanken
Auswählen muß, aber wie macht man das???

mssql_select_db("DB1, DB2");

so klapt das auch nicht???

Wie geht das???

Gruß Vitali

  1. Halihallo Vitali

    Leider gibt das einen Fehler, ich denke weil ich zwei Datenbanken

    Warum verschweigst du uns den Fehler? - Das ist _wichtig_!

    Auswählen muß, aber wie macht man das???
    mssql_select_db("DB1, DB2");

    Mit zwei unterschiedlichen Datenbanken in einem Query zu arbeiten ist evtl. möglich,
    jedoch eigentlich falsch. Warum also möchtest du zwei Datenbanken selektieren?

    AFAIK wird immer die zuletzt selektierte Datenbank benutzt.

    Viele Grüsse

    Philipp

    --
    RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
    Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.
    1. Hi,

      AFAIK wird immer die zuletzt selektierte Datenbank benutzt.

      ich weiss nicht wie es in mssql ist, aber bei postgres kann ich mehrere Verbindungen öffnen und mit dem entsprechenden handle weiterarbeiten.
      so ca:

      $conn1 = connectfunktion(db1);
      $conn2 = connectfunktion(db2);

      bei den Abfragen kann ich query dann den optionalen parameter $conn1 bzw. $conn2.

      ciao
      romy

      --
      DIE ROMY AUS L. AN DER P. SAGT DANKE UND AUF WIEDERSEHEN
      sh:( fo:| ch:? rl:( br:& va:| zu:) ss:| ls:[
      Die Erklärung zum Selfcode findest du hier: http://emmanuel.dammerer.at/selfcode.html
      Einen Decoder für den Selfcode findest du hier: http://peter.in-berlin.de/projekte/selfcode
      1. Halihallo romy

        AFAIK wird immer die zuletzt selektierte Datenbank benutzt.
        ich weiss nicht wie es in mssql ist, aber bei postgres kann ich mehrere Verbindungen öffnen und mit dem entsprechenden handle weiterarbeiten.

        Stimmt. Ich habe mich jetzt darüber schlau gemacht ;-)

        Viele Grüsse

        Philipp

        --
        RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
        Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.
      2. Hi,

        AFAIK wird immer die zuletzt selektierte Datenbank benutzt.
        ich weiss nicht wie es in mssql ist, aber bei postgres kann ich mehrere Verbindungen öffnen und mit dem entsprechenden handle weiterarbeiten.
        so ca:

        $conn1 = connectfunktion(db1);
        $conn2 = connectfunktion(db2);

        bei den Abfragen kann ich query dann den optionalen parameter $conn1 bzw. $conn2.

        ciao
        romy

        -------------------------------------------------

        Das denke ich auch. Bei PHP:

        int mssql_select_db ( string Datenbankname [, int Verbindungs-Kennung])

        Man kann eine Verbindugskennung vergeben aber wie das geht weiß ich nicht. Ich finde einfach kein Bespiel??

        Danke

        Gruß Vitali

        1. Hi!

          Das denke ich auch. Bei PHP:

          int mssql_select_db ( string Datenbankname [, int Verbindungs-Kennung])

          Man kann eine Verbindugskennung vergeben aber wie das geht weiß ich nicht. Ich finde einfach kein Bespiel??

          mit mssql_connect() bekommst Du eine Verbindungskennung, die weist Du dann einfach einer Variable zu, und ein 2. mal einer anderen Variable. Diese Variable kannst Du dann als Verbindungskennung für die Funktionen

          mssql_select_db ( string Datenbankname [, int Verbindungs-Kennung])
          mssql_query ( string Anfrage [, int Verbindungs-Kennung])

          verwenden. Kannst allso einer Verbindungskennung eine DB zuweisen, udn durch angaber dieser Verbindungskennung bei mssql_query() kannst Du dann eben auf diese DB zugreifen. Nur kannst Du nicht in einer Abfrage beide Verbindungen verbinden.

          Grüße
          Andreas

    2. Warum verschweigst du uns den Fehler? - Das ist _wichtig_!

      Fehlermeldungen:

      Warning: mssql_query() [function.mssql-query]: message: Ungültiger Objektname 'config'. (severity 16) in D:\wampp2\htdocs\myweb\HEAT\heat_index.php on line 38

      Warning: mssql_query() [function.mssql-query]: Query failed in D:\wampp2\htdocs\myweb\HEAT\heat_index.php on line 38

      Warning: mssql_fetch_object(): supplied argument is not a valid MS SQL-result resource in D:\wampp2\htdocs\myweb\HEAT\heat_index.php on line 40

  2. Hi!

    mssql_select_db("HEAT");
    mssql_select_db("GoldMine_Sales_And_Marketing");

    $query = "SELECT * FROM config, CONTACT1 WHERE CONTACT1.ACCOUNTNO = config.CustID AND  config.Abr_Q = 'T' OR config.Abr_Jahr = 'T'";

    Wozu die 2 Datenbanken? Willst Du beide in einer Query kombinieren? Das funktioniert AFAIK nicht. Wie Philipp schon sagte, vermutlich wurde die 2. DB verwendet, und auch die Fehlermeldung wäre nicht uninteresant.

    zusätzlich solltest Du Dir mal http://de3.php.net/manual/de/function.mssql-get-last-message.php
    ansehen, das sollte nach mssql_query() evtl. eine Fehlermeldung vom Server zurückgeben.

    Hat es denn überhaupt schon mit einer einfachen Abfrage in einer DB funktioniert? Vielleicht solltest Du das erstmal probieren.

    Grüße
    Andreas

    1. Hat es denn überhaupt schon mit einer einfachen Abfrage in einer DB funktioniert? Vielleicht solltest Du das erstmal probieren.

      Ja Abfragen haben funktioniert.
      Ich hatte es vorher so gehabt:

      mssql_select_db("HEAT");
      $query_heat = "SELECT * FROM config WHERE Abr_Q = 'T' OR Abr_Jahr = 'T'";
      $result_heat = mssql_query($query_heat);

      while($row_heat = mssql_fetch_object($result_heat))
      {
        $CustID = $row_heat->CustID;

      $Produkt = $row_heat->Produkt;
        $Vertragssumme = $row_heat->SupportCost;
        $Anteil_EDC = $row_heat->Anteil_EDC;
        $Level_Part = $row_heat->secondlvl_partner;
        $Akt_Laufzeit = $row_heat->SupportExpDate;
        $Vertragsdauer = $row_heat->Vertragsdatum;
        $Letzte_RE = $row_heat->last_bill;
        $Quartals_RE = $row_heat->Abr_Q;

      //Frima auslesn
        mssql_select_db("GoldMine_Sales_And_Marketing");
        $query_goldmine = "SELECT * FROM CONTACT1 WHERE ACCOUNTNO = '$CustID' ";

      $result_goldmine = mssql_query($query_goldmine);
        $row_goldmine = mssql_fetch_assoc($result_goldmine);

      echo ($row_goldmine["COMPANY"]);
      }

      --------------------------------------------------------

      Das hat ja alles sehr gut funktioniert, aber ich kann nicht "COMPANY" nach ABZ sortieren. Wie auch mit dieser Struktur???

      Ich muß aus beiden DB gleichzeitig auslesen und filtern.

      Oder nicht...

      Gruß Vitali

      1. Hi!

        Das hat ja alles sehr gut funktioniert, aber ich kann nicht "COMPANY" nach ABZ sortieren. Wie auch mit dieser Struktur???

        Ich muß aus beiden DB gleichzeitig auslesen und filtern.

        Wenn Du um eine Tabelle zu sortieren eine Tabelle aus einer anderen DB brauchst stimmt was an Deinem DB-Design nicht.

        Entweder du fasst voneinander abhängige Tabellen in einer DB zusammen, oder Du kopierst eine Tabelle in die andere Datenbank, oder Du führst den Sortiervorgang in PHP durch, indem Du beide Datenbanken einzelnd abfragst und dann wie auch immer in PHP, z,.B. mit Hilfe von Array-Funktionen sortierst. Das wäre aber ein denkbar ungünstige Lösung.
        Mit einer Abfrage Tabellen aus 2 verschiedenen Datenbanken auszulesen ist meines Wissens mit PHP nicht möglich, aus gutem Grund.

        Grüße
        Andreas

  3. Ich denke es wurde alles zu diesem Thema gesagt.

    Danke

    Gruß Vitali