Faraday 0 Geschrieben 2. Juli 2015 Melden Geschrieben 2. Juli 2015 (bearbeitet) Hallo Community, Ich habe eine Prozedur, welche unter anderem einen Pfad und einen Dateinamen in eine Tabelle schreibt. Hier ein Auszug: DECLARE -- @FIRMA INTEGER, @BATYPE CHAR(1), @BANUMMER VARCHAR(15), @LFDNR INTEGER, @DOCDIR VARCHAR(254), @DOCTYPE INTEGER, @DOCNAME VARCHAR(254), @DOCINFO VARCHAR(254), INSERT INTO BAKDOKS ( FIRMA, BATYPE, BANUMMER, LFDNR, DOCDIR, DOCTYP, DOCNAME, DOCINFO) -- SELECT FIRMA, BATYPE, BANUMMER, -- LFDNR '1', -- DOCDIR 'c:\temp', '1', -- DOCNAME (BANUMMER +'-astl.pdf'), -- DOCINFO 'Stückliste' -- FROM BAKOPF WHERE ISNULL(LTRIM(RTRIM(BANUMMER)),'') <> '' AND NOT EXISTS(SELECT * FROM BAKDOKS WHERE BAKDOKS.FIRMA = BAKOPF.FIRMA AND BAKDOKS.BANUMMER = BAKOPF.BANUMMER AND BAKDOKS.LFDNR = 1) Nun möchte ich allerdings diese Werte nur in die Tabelle BAKDOKS schreiben, wenn der Pfad inkl. Dateiname ('c:\temp\' + BANUMMER + '-astl.pdf') auch tatsächlich existiert (!). Zur Prüfung, ob ein Pfad existiert habe ich folgenden Ansatz gefunden: DECLARE @datei_vorhanden int EXEC master..xp_fileexist 'c:\winnt\notepad.exe', @datei_vorhanden OUTPUT IF @datei_vorhanden = 1 PRINT 'Datei existiert' ELSE PRINT 'Datei existiert nicht.' Leider weiß ich nicht, wie ich das in mein Statement einbauen kann. Ein EXEC im Where-Clause ist nicht möglich, soviel ich weiß. Kann jemand helfen? Danke :-) Gruß Faraday bearbeitet 2. Juli 2015 von Faraday
dba2008 0 Geschrieben 7. September 2015 Melden Geschrieben 7. September 2015 Hast Du SSIS installiert?
NilsK 3.046 Geschrieben 7. September 2015 Melden Geschrieben 7. September 2015 Moin, es wird davon abgeraten, innerhalb von T-SQL-Code Shellfunktionen auszuführen. Meist ist es ein sinnvollerer Weg, solche Prüfungen außerhalb der Datenbank auszuführen und dann von dort ein Ergebnis in die Datenbank zu schreiben (z.B. in einer Hilfstabelle). Gruß, Nils
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden