Chcę eksportować wartości z SQL Server do pliku txt. Wiem o BCP, tam muszę podać albo zapytanie albo nazwę tabeli, aby wyeksportować dane z tabeli. Nie chcę eksportować danych, ale chcę eksportować wartości przypisane do zmiennej. Jak mogę to zrobić, jakąkolwiek pomoc?Eksportuj wartości z SQL Server do pliku txt
Odpowiedz
Użyj zapytania, aby zebrać zmienne, które chcesz wyeksportować. Coś takiego:
DECLARE @var1 INTEGER
DECLARE @var2 INTEGER
SELECT @var1 = 10
SELECT @var2 = 22
SELECT 'variable 1' AS VarName, @var1 AS VarValue
UNION
SELECT 'variable 2' AS VarName, @var2 AS VarValue
Użyj tej instrukcji zapytania w poniższym poleceniu. Użyj zapytania i zastąp [querystatement] powyższym stwierdzeniem lub użyj zmiennej dla ciągu zapytania.
EXEC master..XP_CMDSHELL 'bcp "[querystatement]" queryout "c:\spt_values.dat"'
Jeśli zmienna musi być zadeklarowane poza stwierdzeniem:
DECLARE @cmd varchar(1000)
DECLARE @sql varchar(8000)
DECLARE @var1 int
SELECT @var1 = 10
SET @cmd='"select '+CAST(@var1 AS VARCHAR(10))+'"'
SELECT @sql = 'bcp '[email protected]+' queryout I:\File\mytest.txt -c -t -T -S YAMUNA\SQLEXPRESS';
exec xp_cmdshell @sql;
Nie mogę znaleźć sposobu na eksportowanie wartości do pliku .txt w twojej odpowiedzi, ale próbowałem wykonać zapytanie, które podałeś z eksportem 'BCP', ale to nie działa, Czy jest jakiś inny sposób, w jaki mogę to zrobić. – niren
Znalazłem gdzieś indziej: EXEC master..XP_CMDSHELL 'bcp "[querystatement]" queryout "c: \ spt_values.dat"' Użyłeś opcji queryout? – Wietze314
Działa Jeśli używam tego w ten sposób: deklaruj @ cmd varchar (1000) deklaruj @sql varchar (8000) ustaw @ cmd = '"DECLARE @ var1 int; SELECT @ var1 = 10; wybierz @ var1"' SELECT @sql = "bcp" + @ cmd + "queryout I: \ File \ mytest.txt -c -t -T -S YAMUNA \ SQLEXPRESS"; exec xp_cmdshell @sql; Ale chcę zadeklarować i przypisać zmienną '@ var1' poza cudzysłowami – niren
Co masz na myśli przez 'eksportowych wartości przypisanych do variable' ..? – user2339071
dla np .: 'declare @var int = 10', chcę, aby 10 było tam w pliku .txt – niren
W Management Studio możesz ustawić opcję" Wyniki na tekst "z paska narzędzi poleceń (lub CTRL + T) i cokolwiek wykonasz w oknach zapytań, wyniki przejdą do pliku tekstowego –