MSSQL mit freeTDS auf Linux: Tester gesucht

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

  • MSSQL mit freeTDS auf Linux: Tester gesucht

    Hallo Hilfsbereiter!

    ich habe Suse8.2 mit freetds und PHP5.0.0. Klappt auch alles wunderbar. Bis auf eine Kleinigkeit. Wenn ich mehrere Select-Anweisungen (durch mssql_query("Select ...; Select ...; Select ...") oder mittels stored procedure) ausführe kann ich laut manual mit der Funktion mssql_next_result das nächste Ergebnis erhalten. Allerdings tritt mit der o.g. Konfiguration ein Fehler auf, wenn eine Select-Anweisung keine Treffer findet. Dann wird einfach das darauf folgende Ergebnis zurückgegeben.

    Ein Beispiel: drei Select-Anweisung, Nr.2 enthält keine Treffer - was man ja vorher nicht weiß ... Ich lasse die Ergebnisse der ersten Anweisung ausgeben und führe dann mssql_next_result aus. Ich erhalte jetzt sofort die Ergebnisse der 3. Select-Anweisung! Das bringt meine Anwedung natürlich voll durcheinander ...

    Bei PHP habe ich vor eineinhalb Wochen einen Bug gemeldet (http://bugs.php.net/bug.php?id=29316) aber leider keine Reaktion bis heute. Vielleicht kann hier jemand helfen und das einmal auf seinem System mit einer anderen PHP-Version testen (bitte nur Linux - Windows geht ...).

    Meine Konfiguration:
    Suse8.2
    freetds 0.62.3
    MS-SQLServer 2000
    PHP 5.0.0

    Vielen Dank!
    EDIT:
    *verschieb* zur projekthilfe
    wurzel

    Zuletzt geändert von Wurzel; 02.08.2004, 15:32.

  • #2
    versuch mal per select case ... when ... else abzufangen, dass das select auf jeden Fall was liefert.

    Kommentar


    • #3
      @asp2php: Danke, dass du dich meinem Problem angenommen hast - ich weiß, so lange und konfuse Problembeschreibungen schrecken immer ab ...

      Natürlich könnte ich das Problem auch auf verschiedene Weg umgehen - mit deinem Vorschlag oder wenn ich einfach select @@rowcount ausgeben lassen oder ...

      Da ich aber verschiedene Anwendungen von einem Windows-IIS auf einen Suse-Apache verlagern möchte habe ich keine Lust sämtlichen Quellcode durchzuforsten und anzupassen. Wie gesagt, Windows/PHP liefert korrekte Ergebnisse auch wenn ich mit der freetds-Konsole arbeite bekomme ich eine leeres Resultset angezeigt - nur die MSSQL-Funktionen von PHP(5?) scheinen hier fehlerhaft zu arbeiten.

      Also, mal schaun ob jemand freetds mit einer anderen PHP-Version betreibt und das mal testen kann.

      Kommentar


      • #4
        warum nicht Apache auf Window installieren und probieren, wenn es ohnehin mit Window schon ohne Probleme gab. Warum muss es Linux sein

        Kommentar


        • #5
          Hi asp2php,

          für eine andere Anwendung benötige ich zwingend Linux - und ich möchte nicht auf jedem dritten Rechner einen Webserver laufen haben ... ich sehe nur zwei Möglichkeiten:
          a) ich verwende eine ungenaue Syntax, die auf einem Windows-System akzeptiert wird und von Linux eben nur teilweise
          b) die mssql-Erweiterung von PHP5 arbeitet in diesem Fall fehlerhaft

          Die Syntax ist recht simpel - habe auch schon alles dazu gelesen und probiert. Ich vermute daher es liegt an der mssql-Erweiterung von PHP5. Da ich jetzt aber keinen Bock habe noch eine weitere PHP-Version aufzusetzen suche ich jemanden, der das mal mit einer Vorgängerversion durchspielen kann.

          Kommentar

          Lädt...
          X