Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Spara ett resultat till en textfil

Postades av 2005-05-06 16:59:48 - Per Joehns, i forum sql-server/msde, Tråden har 2 Kommentarer och lästs av 784 personer

Jag har behov av att utifrån en förändring i en tabell spara information till en textfil.
En trigger anropar en StoredProcedure som jag i sin tur vill ska lägga ut resultatet i en textfil.

I triggern sker följande anrop
...
Execute sp_SaveToFile @Type, @ID, @DATUM

I min Stored Procedure gör jag i dag nedanstående
Create Procedure sp_SaveToFile
(@Type Int, @ID Int, @Datum Char(10))
As
DECLARE @cmd sysname, @Path nvarchar(4000)
SET @Path = 'c:\Testar.txt'
SET @cmd = 'echo ' + @ID + ' - ' + @Datum + ' - Type: ' + @Type+ ' > ' + @Path
EXEC master..xp_cmdshell @cmd

Jag har testat så att triggern anropar min SP. Jag har också testat så att min SP exekveras. Detta testades genom att min SP fick uppdatera ett fält i en tabell, dvs en vanlig Update.
Men så fort jag försöker använda xp_cmdshell så får jag inget resultat.

mvh Per


Svara

Sv: Spara ett resultat till en textfil

Postades av 2005-05-08 20:04:48 - Andreas Paulsson

Om jag lägger in din SP i min databas (på SQL Server 2000) så kan jag lägga till den OK.
Om jag sedan anropar den med

sp_SaveToFile 12, 23, '2005-05-05'

Så får jag felmeddelandet

Server: Msg 245, Level 16, State 1, Procedure sp_SaveToFile, Line 6
Syntax error converting the varchar value 'echo ' to a column of data type int.


Om jag däremot skriver om den så att den konverterar int:arna till strängar med CAST enligt följande:

Create Procedure sp_SaveToFile
(@Type Int, @ID Int, @Datum Char(10))
As
DECLARE @cmd sysname, @Path nvarchar(4000)
SET @Path = 'c:\temp\Testar.txt'
SET @cmd = 'echo ' + CAST ( @ID AS VARCHAR(10) ) + ' - ' + @Datum + ' - Type: ' + CAST ( @Type AS VARCHAR(10) ) + ' > ' + @Path
EXEC master..xp_cmdshell @cmd

så fungerar allt OK. Anledningen till att du inte såg felmeddelandet tidigare kan ha varit att din SP anropades från en trigger, och du inte kollade felstatus i din trigger.

Se även till att den användaren som kör SQL Servern körs som har rättigheter att skapa den filen.

En annan kommentar är att jag skulle rekommendera att du inte har den lokala variabeln @cmd som sysname eftersom det är samma som nvarchar(128), vilket kan bli litet kort eftersom du har ett filnamn med i den istället.

/Andreas


Svara

Sv:Spara ett resultat till en textfil

Postades av 2005-05-14 00:01:48 - Per Joehns

Tack för hjälpen!

Utöver de svar du gav så var jag även tvungen att lösa behörighetsfrågan då den användare som jag använder inte är en NT/AD användare och därmed inte får lov att köra xp_cmdshell. Men det finns en möjlighet att i Enterprise Managern ställa in så att en icke NT/AD användare tillåts göra anropet och att detta körs genom den användare som kör/startat SQL Server service.

Men det kräver att behörig DBA aktrivt går in och öppnar upp möjligheten. Jag är osäker på vilka säkerhetsaspekter man ska ställa på denna lösning. Men tillvägagångssättet är beskrivit i online hjälpen.

/Per


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 619
27 953
271 709
479
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies