Announcement

Collapse
No announcement yet.

Firebird und Sql-Server an eine Application

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Firebird und Sql-Server an eine Application

    Hallo und guten Tag an alle.

    Ich habe folgendes Problem bzw. Frage.

    Vorweg noch:
    Zur Zeit verwende ich als Datenbank die Firebird.
    Verwende keine Storedproceduren oder Systemtabellen.
    Ganz schlicht und einfach nur die standard sql-befehle.#

    Habe aber eine eigene DLL mit diversen Functionen erstellt,
    da Firebird nicht allzuviel bietet, wie beispielsweise
    (trim, substr, toval, StrToInt, IntToStr, DatumToJahr ... ) usw.
    Diese DLL binde ich über die External Function ein.

    Nun fehlen mir im SQL-Server 2005 all diese Functionen,
    dazu folgende Frage:

    Eine Überarbeitung aller Select-Befehl in meiner Application wäre eine enormer Aufwand, deshalb will ich diese Funktionen auch im Sql-Server einbinden.

    Frage:
    Kann ich im Sql-Server eigene Funktionen erstellen,
    die ich dann über Select aufrufen kann
    wie: Select DatumToJahr( rc.recdatum ), rc.feld, rc.feld from ...

    oder gibt es eine Komponente die ich als Schnittstelle
    zwischen Firebird und Sql-Server schalten kann.


    Danke im vorraus
    Oswald

  • #2
    Originally posted by Oswald Mair View Post
    Kann ich im Sql-Server eigene Funktionen erstellen, die ich dann über Select aufrufen kann
    Ja geht. Du kannst das machen. Frag mich aber nicht nach details da wir uns auch ohne SP und sonstigen DB-Eigenheiten auskommen

    Originally posted by Oswald Mair View Post
    oder gibt es eine Komponente die ich als Schnittstelle zwischen Firebird und Sql-Server schalten kann.
    Eher nicht. Du müsstest eher dein Programm umbauen um dann z.B. mit Hilfe eines Bridge-Patterns höhere unabhängigkeit von einer DB zu haben. Fertige Frameworks wären z.B. NHibernate oder ECO.

    Comment


    • #3
      Hallo Bernhard,
      jetzt weiß ich das es gehen wird,
      ist schon mal etwas,
      nur das wie, das hätte ich gerne gewusst ...

      Danke für deine Antwort

      Comment


      • #4
        Ganz ohne Umbau wirst du nicht auskommen, denn du kannst zwar im Select sogenannte UDF's (user defined functions) verwenden, die müssen allerdings das Schema als Prefix haben. Wenn du also eine UDF namens DatumToJahr() schreibst, musst du im select folgendes verwenden:
        select dbo.DatumToJahr(rc.recdatum), rc.feld, rc.feld from ...
        Ein select wie du derzeit hast (ohne dem dbo.) würde im SQL-Server einen Fehler werfen.

        bye,
        Helmut

        Comment


        • #5
          hallo Helmut, danke für deine Antwort.
          Du hast recht, ich werde meinen Quellcode etwas anpassen müssen.

          Habe heute den ganzen Tag diverse Tests gemacht,
          und habe bemerkt das ich einen Prefix benötige.

          Ist aber nicht schlimm, und die meinsten Funktionen kann ich in Sql-Server nachbauen,
          hoffe ich ...

          bis auf 3 Funktionen, und die machen mir noch Kopfschmerzen.
          Es sind RTF-Funktionen
          RtfToPlain - Richtext in Plain umwandeln
          RtfToRow1 - Erste Zeile auslesen
          RtftoRow2 - Restliche Zeilen auslesen

          Da ich in einigen Datenfeldern Richtext schreibe, kann ich beispielsweise mit:
          select artikelkode, rtftoplain(artikelbeschreib) beschreibung, warengruppe from artikel
          mir schnell eine Artikelliste einen Grid anzeigen.

          Hast du schon mal eine DLL in Sql-Server eingebunden?
          Oder kannst du mir einen Tipp geben wie ich das machen kann,
          kann auch ein Buchtipp

          Danke und schönen Sonntag
          Oswald

          Comment


          • #6
            Ja, habe früher DLL's mit Delphi programmiert und eingebunden. Dazu gab es eine Komponente namens TXProc, die nahm einem viel Arbeit ab, funktionierte gut, war damals um einiges billiger als jetzt.
            Seit SQL 2005 schreibe ich Assemblys in C# und hänge die rein. Ist aber nicht mit zwei Sätzen erklärbar, besorge dir dazu lieber das Taschenbuch "Pro SQL Server 2005 Assemblies" von Robert Dewson:
            http://www.amazon.de/Server-2005-Ass.../dp/1590595661
            ... zahlt sich garantiert aus!

            bye,
            Helmut

            Comment


            • #7
              Ich werde mir das buch bestellen.
              Danke für den Tipp

              LG Oswald

              Comment

              Working...
              X