tekker
Goto Top

Script für MsSQL Datensatz auslesen

Weiß nicht weiter...

Hallo ich habe wiedermal ein Problem mit einem Script zum auslesen einzelner Datensätze. Die Datensätze sollen in eine Datei geschrieben werden und immer um 17Uhr aktualisiert werden. Bei den Datensätzen handelt es sich um einen Bericht zur Zeiterfassung der nach Personalnummer sotiert ist. Nun mein Problem ist, das ich kaum Ahnung davon habe sozusagen, frischer Anfänger und nicht weiß, wie ich das realisieren soll. Jemand eine Idee???

Content-Key: 110403

Url: https://administrator.de/contentid/110403

Printed on: April 23, 2024 at 21:04 o'clock

Member: Logan000
Logan000 Mar 03, 2009 at 10:10:04 (UTC)
Goto Top
Moin Moin

Nun mein Problem ist, das ich kaum Ahnung davon habe sozusagen, frischer Anfänger und nicht weiß, wie ...
Das Problem hatten wir alle mal.

Welche SQL Server version setzt Ihr den ein?
Sachu mal in der SL Server Hilfe nach DTS.

Gruß L.
Member: Tekker
Tekker Mar 03, 2009 at 10:16:08 (UTC)
Goto Top
Also ich habe den SQL Server 2005 Standard aufgesetzt, aber da SQL komplett Neuland für mich ist, habe mir zwar DTS angeschaut, weiß aber nicht wirklich, wie ich aus einem Bericht jeden einzelnen Name oder jede einzelne Personalnr. in unterschiedliche Dateien speichern kann und das automatisch...
Zum Beispiel, ich habe 20 Mitarbeiter und jeder hat mehere Datensätze, da die Arbeitszeit der letzten 60 Tage immer angezeigt und aus´gelesen werden muss, aber wie exportiere ich die alle automatisch und aktualisiere ich sie dann...
Member: SlainteMhath
SlainteMhath Mar 03, 2009 at 10:29:07 (UTC)
Goto Top
Hi,

evtl. ist ein geplanter Task unter das Tool SQLCMD das was du suchst? Gibt einfach mal SQLCMD -? am Server ein.

lg,
Slainte
Member: Tekker
Tekker Mar 03, 2009 at 10:54:03 (UTC)
Goto Top
Ok, habe die sqlcmd -? aufgerufen, aber ich muss ehrlich zugeben, das es auf mich wie chinesisch wirkt...
Member: Logan000
Logan000 Mar 03, 2009 at 10:55:39 (UTC)
Goto Top
Moin Moin

Das klingt als hättest du schon Sorgen beim Abfragen der benötigten Daten.
Erstmal benötigt du eine Sicht mit den jeweiligen informationen.
Falls du dabei hilfe brauchst Poste mal die Struktur und Bsp inhalte der betroffenen Tabelle(n).
Dafür möchte ich dir die Formatting instructions in the posts ans Herz legen.

Gruß L.
Member: Tekker
Tekker Mar 03, 2009 at 11:09:03 (UTC)
Goto Top
385f91848ca851de7ead68f526ddc626-bsp

so hier mal eine Grafische darstellung von einem teil der Abfrage...
Ich hoffe das reicht dir...
Member: SlainteMhath
SlainteMhath Mar 03, 2009 at 11:27:22 (UTC)
Goto Top
Aha! face-smile

Das sieht mir eher wie eine Aufgabe für die Reporting Services aus ;) Die dürften in der Standard Version mit dabei sein, wenn mich nicht alles täuscht.
Member: Tekker
Tekker Mar 03, 2009 at 11:36:06 (UTC)
Goto Top
ja ich habe das auch alles damit erstellt, aber wie gesagt, bin ich jetzt leider überfragt, bei dem wie es weiter geht...
Member: Logan000
Logan000 Mar 03, 2009 at 12:09:18 (UTC)
Goto Top
Moin

Nun für diesen Report hast du doch bestimmt schon eine Sicht erstellt oder nicht?
Damit kannst Du doch weiterarbeiten.

Gruß L.
Member: Tekker
Tekker Mar 03, 2009 at 12:20:58 (UTC)
Goto Top
Also ich bis jetzt den Bericht erstellt und den in eine Freigegebene Datenbank gehängt...
Leider arbeite ich nach einem Buch und komme da nicht weiter, da es nur nach den Beispielen drin geht und mir einige Schritte fehlen...
Dadurch denke ich das ich noch keine Sicht habe, da auch keine im SQl-Server zu finden ist...
Member: Logan000
Logan000 Mar 04, 2009 at 08:14:37 (UTC)
Goto Top
Moin Moin

Dann soltest Du evtl. damit anfangen.
Wenn ich dich richtig verstanden habe hast Du eine Tabelle (und ich meine jetzt nicht den Bericht) auf deiner Datenbank in der Mitarbeiter und ihre Tätigkeiten pro Datum eingetragen sind.
Und Du möchtest jetzt einen täglichen Export der letzten 60 Tage dieser Tabelle in eine Datei (Text, Excel,...) und diese vielleich besser nach Mitarbeiter sortiert.

Ist das soweit richtig? Wenn ja soltest du dir erstmal eine Sicht in deiner Datenbank anlegen die immer alle Datensätze der letzten 60 Tage aus dieser Tabelle liefert.

Diese kannst du dann erstmal manuell exportieren. Im Management Studio rechtsklick auf die DB und Tasks/Daten exportieren.
Daduch kannst du 1. schauen ob Dir das Zielformat zusagt bzw. alle daten so wie du dir das vogestellt hast vorhanden sind und 2. diesen Export als SSIS (seit SQL 2005 neuer Name für den DTS) Paket speichern.

Und wenn du soweit bist, meldest du Dich oder falls du noch Fragen hast natürlich auch.

Gruß L.
Member: Tekker
Tekker Mar 04, 2009 at 09:27:23 (UTC)
Goto Top
Guten Morgen Logan000,

ich habe das jetzt soweit aufgeführt, wie es mir beschrieben hast...

Hier mal meine Syntax, falls du sie brauchst...

SELECT TOP (100) PERCENT PersonalNr AS Personalnummer, Name, Datum, LohnArt AS Lohnart, ProjektNr AS [Projekt/Auftrag], BelegNr AS Beschreibung,
StdBzwAnzahl AS Stunden, AztVerarb AS Kennzeichen
FROM dbo.ArbeitsZeit
GROUP BY PersonalNr, Name, Datum, LohnArt, ProjektNr, BelegNr, StdBzwAnzahl, AztVerarb
HAVING (Datum BETWEEN { fn NOW() } - 60 AND { fn NOW() })
ORDER BY Datum DESC


Achso, ich brauche von jedem Mitarbeiter eine eigene Datei und wenn es geht als pdf. Ausserdem soll der Bericht nicht dynamisch sondern statisch sein und jeden Tag um 17Uhr aktualisiert werden...