Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Frage Entwicklung Datenbanken

GELÖST

MS-SQL-Server - Probleme mit dynamischen Dateinamen bei DTS-Task

Mitglied: greyhound

greyhound (Level 1) - Jetzt verbinden

16.06.2008, aktualisiert 18.10.2012, 5872 Aufrufe, 10 Kommentare

Dateiname wird nicht zuverlässig ersetzt

MS-SQL-Cracks bitte melden

Seit einiger Zeit habe ich ein seltsames Problem mit unserem SQL-Server.

Hier zunächst die Aufgabenstellung und mein Lösungsansatz.
Für ein Auswertungsprogramm benötigen wir aus einer MSSQL Datenbank täglich Selektionen verschiedener Daten in Form von (kleinen) ASCII-Dateien.

Ich habe hierzu ein spezielles DTS-Paket erstellt, welches zu einem festgelegten Zeitpunkt entsprechende SQL-Scripts ausführt und die Ergebnisse in entsprechende ASCII-Dateien ausgibt. (MS-SQL will wegen der Transformationsregeln hierzu einen konkreten Dateinamen angegeben haben. )
Da die Dateien aber nicht überschrieben werden sollen, habe ich in einem zweiten Schritt über entsprechende Tasks den Dateinamen dynamisch festgelegt (Format \\Server\Freigabe\TEXT-JJJJMMDD.EXT).

Nun mein Problem:
Normalerweise funktioniert obiges Verfahren auch, aber leider nicht immer. Ich habe nun festgestellt, daß die DTS-Task ab und an (grund unbekannt) den Dateinamen nicht dynamisch festlegt, sondern den bei der Definition angegebenen (statischen) Dateinamen benutzt. Da diese Datei dann jedes Mal überschrieben wird, gehen mir immer wieder die "alten" Daten verloren.

Hat jemand hierzu einen Tipp oder auch einen alternativen Lösungsansatz? Bin im Moment ziemlich ratlos und für jeden Hinweis dankbar.

Greyhound
Mitglied: geTuemII
17.06.2008, aktualisiert 18.10.2012
Hallo Greyhound,

von DTS habe ich wenig Ahnung, daher hier ein alternativer Ansatz:
  • Dateien mit DTS zu bestimmtem Zeitpunkt erzeugen --> Ergebnis: Datei mit bekanntemn Namen im bekannten Verzeichnis (\\Server\Freigabe\TEXT.EXT)
  • Danach par Batch Umbenennung der bekannten Datei TEXT.EXT in TEXT-JJJJMMDD.EXT --> Ergebnis: Datei hat den Namen, den sie haben soll und TEXT.EXT ist wieder frei (nicht mehr vorhanden) für den nächsten DTS-Lauf

Falls dieser Ansatz für dich interessant klingt, empfehle ich http://www.administrator.de/wissen/workshop-batch-for-runaways-part-iii ... zur Lektüre.

geTuemII
Bitte warten ..
Mitglied: greyhound
17.06.2008 um 18:09 Uhr
Hi geTuemII,

Darüber hatte ich auch schon nachgedacht, wenngleich es anders eleganter wäre . Aber falls sonst niemand eine Idee zu meinem Problem hat, werde ich mich wohl mit einem "bätsch" versuchen. Da ich mit der Syntax dieser Windowsskripte als alter X-er etwas auf Kriegsfuß stehe, ist Dein Link sicher sehr nützlich. Werd' dann halt ein bisschen beim "Altmeister" abkupfern müssen.

Greyhound
Bitte warten ..
Mitglied: Biber
21.06.2008 um 19:54 Uhr
Moin Greyhound,

ich habe nun auch schon ein paar Tage abgewartet, ob und was so für Alternativen gepostet werden.
Denn... okay, machbar und nicht allzu aufwändig ginge das via einpaar Batchzeilen, aber das kann es ja wohl nicht sein, dass wir es nicht mit SQL zum Fliegen bekommen.

Du hast Doch bestimmt schon 20x auf die fünf Zeilen draufgeschaut, die diese dynamischen Dateinamen ermitteln - magst Du die mal posten?
Und wie startest Du das Skript - über dtsrun oder über VB/VBS?
Irgendeine Regelmäßigkeit bezüglich des "mal klappts, mal klappts nicht"?
Aber bitte nicht antworten: "War immer unter Windows..."

Grüße
Biber
Bitte warten ..
Mitglied: greyhound
23.06.2008 um 13:15 Uhr
Hallo Biber,

danke für's "Mithirnen". Wie Du schon sagtest habe ich natürlich schon x-mal das bisschen Code durchgesehen. Es ist sogar noch simpler als Du annimmst. Die Codesequenz, welche den Dateinamen zuweist lautet einfach :
SELECT '\\server_name\share\prefixtext-' + REPLACE(CONVERT(char, GETDATE(), 102), '.', '') + '.extension'
In dem DTS-Job werden drei verschiedene SQL-Statements abgesetzt, die drei verschiedene Files erzeugen. Die Filenamen (und auch die entsprechenden Statements) unterscheiden sich nur in der Fileextension. Der Rest ist absolut gleich.
Meistens, wenn's schiefgeht, aber nicht immer ist ein bestimmtes File betroffen. Das hat mich jetzt auf eine Idee gebracht. Die Tasks wurden im DTS-Designer von MS-SQL erzeugt und können eigentlich parallel ablaufen. Aufgrund der Ablaufprotokolle ist mir aufgefallen, dass, obwohl die Dateinamen als "dynamic property" der jeweiligen "Destination" zugewiesen wurden, MS-SQL möglicherweise nicht die Generierung der Dateinamen abwartet, sondern die Task ggf. mit dem statischen Namen beendet. Um das zu verifizieren habe ich jetzt mal die Generierung der Dateinamen und die eigentliche Datenselektion über einen Workflow verknüpft. Wenn's das gewesen sein sollte, würde ich gern mal den entsprechenden Programmierer in Redmond sprechen.

Gruß
Greyhound
Bitte warten ..
Mitglied: Biber
23.06.2008 um 13:25 Uhr
Moin Greyhound,
Wenn's das gewesen sein sollte, würde ich gern mal den entsprechenden Programmierer in Redmond sprechen

Dann solltest Du aber aus zwei Gründen persönlich statt fernmündlich bei ihm/ihr vorsprechen:

  • erstens kannst Du nach dem Betreten des Raumes die Bürotür von innen abschliessen
  • zweitens haben PraktikantInnen bestimmt gar kein eigenes Telefon

Grüß mal von mir
Biber
Bitte warten ..
Mitglied: greyhound
23.06.2008 um 15:02 Uhr
Hi Biber

Grüß mal von mir

mit dem Neunschwänzigen?
Bitte warten ..
Mitglied: Biber
23.06.2008 um 15:39 Uhr
Moin greyhound,
<OT>
mit dem Neunschwänzigen?
Hmmm, der Neunschwänzige würde sicherlich nicht in jedem Fall als Strafe empfunden werden, aber wenn Du die Neunschwänzige meinst...

In unseren Forumsregeln steht ja unter Regel 5 als verboten : "Aufrufe oder Anleitungen zu Straftaten" sowie .."Äußerungen, die ...in anderer Weise diskriminierenden Charakter haben.".

Also tue bitte nichts, was ich nicht auch tun würde und nichts, was den Anschein einer ungeplanten Affekthandlung anfechtbar macht.

Ein klitzekleines "Beaver was here" in den 28-Zoll-TFT fände ich aber tolerabel.
</OT>

Grüße
Biber
Bitte warten ..
Mitglied: greyhound
23.06.2008 um 16:08 Uhr
<nochmals OT>
1. ich meinte eigentlich das Neunschwänzige

2. ich werde mich an die Dreisekundenregel halten
</OT>

Gruß
greyhound

<EDIT> naguuut, deeplink beseitigt </EDIT>
Bitte warten ..
Mitglied: geTuemII
23.06.2008 um 17:55 Uhr
Deeplink --> tststs!

Nimm http://blog.tuxilla.de/?s=cat5 dan klapps auch mit dem Neunschwänzigen Irgendwo muß ich doch noch einige Gute (tm) HP-BNC (die grauen!) rumliegen haben...

[Edit] Der Deeplink hat auch das Blinkersyndrom... interessant... [/Edit]

geTuemII
Bitte warten ..
Mitglied: greyhound
25.06.2008 um 01:43 Uhr
@all

Das "Blinker-Syndrom" scheint aufgeklärt zu sein.

Offensichtlich versteht man in Redmond unter "dynamic property" etwas völlig anderes als im Rest der Welt. Es scheint sich keineswegs um eine mit der entsprechenden Variablen fest verknüpfte Eigenschaft zu handeln. Vielmehr lässt DTS die Berechnung solcher Properties offensichtlich als mehr oder weniger unabhängige Tasks ablaufen. Ist die Berechnung der "Property" bei Abschluß der zugehörigen Transfer-Task bereits beendet, dann wird die Property korrekt zugewiesen, andernfalls - Pech gehabt. Der Erfolg ist also abhängig von der aktuellen Maschinenauslastung, der Größe der Datensamples und wer weiß noch was. Das hat zugegebenermaßen natürlich schon auch was Dynamisches.

Merke: Um eine Zuweisung von "dynamic properties" wirklich sicherzustellen, scheint zusätzlich zwingend eine Ende-Start Verknüpfung der "Property-Task" mit der "Transfer-Task" erforderlich zu sein (workflow). Erst dann wartet DTS die Berechnung der Property ab.

Ich glaube, ich seh' mich mal nach einem günstigen Flug nach Redmond um.

greyhound
Bitte warten ..
Ähnliche Inhalte
Windows Server
MS SQl DB 2014 Backup Task
gelöst Frage von winlinWindows Server2 Kommentare

Hi Es gibt ja viele cmdlets zum sichern der SQL DB. Ist es über Tasks->Backup im SQL Manager nicht ...

Windows Server
Neuer MS-SQL-Server
gelöst Frage von tingelWindows Server1 Kommentar

Hallo, Ich bin gerade dabei, mir Gedanken zu machen, wie ich am besten unseren SQL-Server 2008 SP3 auf eine ...

Switche und Hubs
Abfragetimeout MS SQL Server
gelöst Frage von docteurbushSwitche und Hubs3 Kommentare

Ich habe mal eine Frage: Folgendes Szenario -> WebApplikation (sowohl in PHP als auch ASP Classic), virtueller WebServer, physischer ...

Datenbanken
MS-SQL-Server + T-SQL+Batch
Frage von kallewirschDatenbanken4 Kommentare

Hallo Gemeinde, mal wieder ein Problem aus dem Bereich des MS-SQL-Servers. Folgendes Thema: Nachts sollen automatisch Backups der DBen ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 1 TagLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 2 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 2 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 2 TagenSicherheit10 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Batch & Shell
Meltdown Microsoft Prüf Script - .zip Datei leider leer
gelöst Frage von MasterBlaster88Batch & Shell13 Kommentare

Hallo zusammen, ich patche gerade unsere Windows Server bzgl. der Meltdown Lücke. Patch vorhanden, Reg Keys gesetzt Um das ...

Batch & Shell
Shell-Skript - Syntax error: Unterminated quoted string
Frage von newit1Batch & Shell13 Kommentare

Hallo Ich schreibe ein Skript das eine CSV-Datei in eine mySQL Datenbank schieben soll. Bekomme nach start des Skrips ...

E-Mail
Erfahrungen mit hMailServer gesucht
Frage von it-fraggleE-Mail10 Kommentare

Hallo, meine neue Stelle möchte einen eigenen Mailserver. Ich als Linuxkind war direkt geistig mit Postfix dabei. Leider wollen ...

Entwicklung
VBS: alle PDF-Dateien in einem Ordner gleichzeitig öffnen
gelöst Frage von JuweeeEntwicklung9 Kommentare

Hallo, ich habe in deiner Ordnerstruktur (.\Tagesberichte\xx.18\) mehrere dynamische PDF-Formulare (mit LCD erstellt). Die Berichtsformulare sind im Layout alle ...