Announcement

Collapse
No announcement yet.

Automatische Bereitstellung von Daten für User

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

  • Automatische Bereitstellung von Daten für User

    Hallo,
    ich möchte gerne den Usern tagesaktuell bestimmte Daten automatisch in einer Datei (z.B. TXT, oder CSV oder als Exceldatei) als Daten zur Verfügung stellen. Ich suche nach einer Lösung, die das selbstständig ausführt, ohne das ich als Admin in Hause bin. Eine Art Task oder so.
    Hat da jemand eine Idee, wie man so etwas umsetzt?
    Voraussetzung: Die User kommen nicht direkt auf die Datenbank, und kennen auch das DB-Passwort nicht!

    Hier noch einige interessante Infos:
    Wir benutzen als DB: MS-SQL Server 2005
    Das Betriebssystem des Servers: MS Server 2003 R2 Standars x62 Edition Service Pack 2
    Ich habe Zugriff auf die Daten der DB über MS SQL Server Management Studio.
    Das SQL Statement, welches die Daten aus der DB ausliest habe ich bereits fertig.

    Vielen Dank im Voraus für Eure Tips.

    Gruß Helmut

  • #2
    Hallo,
    es gibt den TSQL-Befehl xp_sendmail: http://msdn.microsoft.com/de-de/library/ms189505.aspx

    Wenn Du einen Job mittels SQL Server Agent erstellst, sollte das funktionieren.
    http://technet.microsoft.com/de-de/l...7(SQL.90).aspx

    Zuerst musst Du natürlich die Database-Mail konfigurieren :-)
    Z.B.: http://www.kodyaz.com/articles/sql20...base-mail.aspx

    Weitere Fallstricke können die Berechtigungen des SQL Server Agents sein

    Comment


    • #3
      Hallo StefanBO,

      vielen Dank für Deine Antwort. Das waren ne Menge Infos.

      Ich habe in der Zwischenzeit einwenig mit dem System rumgespielt. Ich habe es soweit über den SQL Server-Agent hinbekommen, das ich das T-Sql Script in einem bestimmten Task (Zeit, Wiederholung) ausgeführt bekomme. Leider sind die Mögklichkeiten, Daten abzuspeichern sehr gering. Ich bekomme es nur so hin, das ich in dem "Auftrag" unter Schritte das T-SQL Script importiert habe, und auf der Karte "Erweitert" eine Ausgabedatei erzeuge. Leider hat diese Datei immer nur den Charakter, einer TXT-Datei, egal ob ich der Datei einen Ausgabedateisuffix als CSV oder XLS gebe. Weiterhin werden in dieser Ausgabedatei in den ersten beiden Zeilen auch noch überflüssigerweise Systeminternas eingetragen.
      Fazit: Die Art und Weise ist schon mal gut (SQL Server-Agent) nur ist die Ausgabedatei noch nicht brauchbar.

      Dazu noch eine Frage: Wie kann man eine Ausgabedatei erzeugen, die z.B. eine txt, oder csv-Datei erstellt, die in einem gewissen Format angelegt wird?
      Unter Format verstehe ich, das z.B. das die Spaltenüberschriften mit ausgegeben werden, das die einzelnen Datenfelder in Anführungszeichen stehen und das das Trennzeichen zwischen den einzelnen Feldern das Semikolon ist.

      Beispiel:

      "Personalnummer";"Name";"Vorname"
      "4711";"Mustermann";"Martin"
      "4712";"Pohl";"Otto"

      Comment


      • #4
        Ssis

        Hallo,
        hast Du vieleicht auch Visual Studio bzw. MS Integration Services zur Verfügung? Das was Du vorhast, ist denke ich dort besser aufgehoben und kann dort effizienter gelöst werden.

        Hier kannst Du Pakete erstellen (die Du als Server-Jobs ausführen lassen kannst), und das ganze in einem Prozess formatieren und ausgeben wie Du willst.

        Sonst scheint es aber so, dass mit xp_sendmail aber mit dem Setzen der Werte für @no_output, @no_header und @separator einige der von Dir angesprochenen Dinge regeln lassen.

        Viele Grüße,
        Stefan

        Comment


        • #5
          Hallo Stafan,

          Visual Studio bzw. MS Integration Services habe ich nicht zur Verfügung.
          Und die Ergebnisse per Mail täglich an die USer zu versenden, ist nicht so im Senne des Erfinders.
          Ich möchte die Daten auf einem Verzeichnis auf dem Server abholen, damit sich die User bei Bedarf die Daten nehmen und damit arbeiten können. Ich würde sonst ca. 70 User täglich mit Mail vollballern, die SIe evtl, nur einmal pro Monat benötigen.

          Aber noch mal ne Frage zum MS SQL Management Studio.
          Gibt es darin denn nicht ne Möglichkeit, die Daten in einem bestimmten Format in eine Datei zu schreiben?
          Denn mit der zuvor beschriebenen Art und Weise kann man die Daten wunderbar in Excel portieren, und weite verarbeiten.

          Gruß Helmut

          Comment


          • #6
            Irgendwie war ich die ganze Zeit davon ausgegangen, dass Du die per Mail verschicken willst*g*
            Naja, vieleicht ist sqlcmd http://msdn.microsoft.com/de-de/library/ms162773.aspx dann Dein Freund. Oder sowas wie mit openrowset http://www.mssqltips.com/tip.asp?tip=1202

            Comment


            • #7
              Hallo Helmut,

              wenn Du den MS SQL Server 2005 in der Standart Edition oder höher hast, dann steht dir SSIS = SQL Server Integration Services, welchen StefanBO meinte, auch zur Verfügung. Vielleicht hast Du es nur nicht installiert, es ist aber im Paket (CD(DVD) und in der Lizensierung enthalten.
              Es ist ein wirklich sehr gutes, umfangreiches ETL-Tool um beliebig Daten auf flexible Weise zum Importieren oder für Deinen Fall zu exportieren.
              Ein solches SSIS Paket kann man dann zeitgesteuert ablaufen lassen, so das es auch ohne Deinen manuellen Eingriff läuft (bei Abwesendheit). Man kann das Paket so aufbauen, das zunächst Prüfungen erfolgen und auch ggf. bei Problemen/Fehler Emails darüber versendet werden oder bei Erfolg an den User "Hallo, da sind Daten die Du abholen kannst; wenn Du möchtest".
              Aus meiner Sicht also das ideale Mittel für Deine Anforderungen.
              Olaf Helper

              <Blog> <Xing>
              * cogito ergo sum * errare humanum est * quote erat demonstrandum *
              Wenn ich denke, ist das ein Fehler und das beweise ich täglich

              Comment


              • #8
                hallo, hat man nicht mit Reporting Services die Möglichkeit die Reports per Excel oder PDF zu speichern? Schlichten Bericht machen, evtl. Parametereingabe ermöglichen, Benutzer Berechtigungen geben. Benutzer können die Berichte selbst generieren.

                Comment

                Working...
                X