Po przeczytaniu one answer i second answer i infopage on sqlcmd nadal nie mogę wykonać poniższych czynności.Jak zapobiec obcinaniu sqlcmd z wynikiem zapytania ścieżki xml
Próbuję wysłać zapytanie do wyniku w pliku xml przy użyciu pliku sqlcmd w pliku wsadowym.
program wsadowy wygląda następująco:
sqlcmd -R -d DBName -i "c:\inputquery.sql" -h-1 -y 0 -o "c:\outputfile.xml"
simplicated zapytań SQL jest:
:XML ON
SELECT '<?xml version="1.0" encoding="UTF-8"?>' +
CAST((
SELECT Columns FROM Table
FOR XML PATH ('Product'), ROOT('Products')
)
AS NVARCHAR(MAX))
Wyjście jest plikiem XML o 1025Kb odrobina obcięty ciąg. Myślę, że obcina się do 1mb, ale jak możesz temu zapobiec? Celem jest uzyskanie pełnego wyniku zapytania w pliku xml. O ile mi wiadomo, wszystkie opcje są już używane. Korzystanie z TSQL SSMS2008 przy okazji.
Jeśli pracujesz w systemie SSMS, istnieją opcje kontrolowania, ile danych XML można zwrócić. 1 MB, 2 MB, 5 MB lub bez ograniczeń. Zobacz Narzędzia | Opcje | Wyniki zapytania | SQL Server | Wyniki dla siatki | Dane XML. Nie ma opcji "Wyniki do pliku". Ale może mógłbyś uruchomić zapytanie do siatki, a następnie zapisać wyniki? –
Jeśli używasz tylko SSMS to działałoby, ale muszę zautomatyzować proces za pomocą pliku wsadowego. Ustawienia SSMS nie mają wpływu na wynik sqlcmd. Dzięki i tak! – J3FFK
Użyłem BCP do robienia takich rzeczy. Oto przykład BCP: http://stackoverflow.com/a/2586615/822072 –