Microsoft SQL Server Job

0

Dzień dobry

Mam pytanie: w jaki sposób ustawić job w MS SQL aby dane wyrzucał bez formatowania pliku.
Prosty przykład:

  • ustawiam job w Microsoft SQL Server Management Studio
  • w zakładce "Steps" wybieram T-SQL wpisuje proste zapytanie "Select * from users" wynikiem jest przeformatowany plik (problem jest gdy linii nie jest 6 a 500tys wtedy zwrotnie dostaje kilka razy więcej linii )

przykład -w załączniku

Pozdr
Maciej

0

A jak byś chciał to dostać ? Takiej postaci pliku jak masz nie da sie nie sformatować bo sie wszystko rozwali. Nie będziesz wiadomo co jest nagłówkiem a gdzie zaczynaja sie dane. Możesz spróbować wynik z SQLa sformatować do XMLa albo JSONa i będziesz miał dane "ciurkiem" i pewnie gdzieś tam sie da wyłączyć dodawanie nagłówka.

0

Witam
Interesuje mnie "flat file" z dowolnym separatorem.
Czyli dokładnie takie coś jak wpiszę zapytanie i zrobię wykonaj następnie "Results" i tu Save Results As

0
  • 1 skrypt- dane wyjściowe dostaje sformatowane
    Create a batch file (.bat) and dump the following text into it
    sqlcmd -S myServer -d myDB -E -Q "select col1, col2, col3 from SomeTable" -o "MyData.csv" -h-1 -s"," -w 700
    Replace myServer with your server name, myDB with your Database name and then replace the query with your actual query.
    -h-1 removes column name headers from the result
    -s"," sets the column seperator to ,
    -w 700 sets the row width to 700 chars (this will need to be as wide as the longest row or it will wrap to the next line)

W załączniku dodałem skrypt PowerShell- który daje mniej więcej oczekiwany efekt(plik wyjściowy nie jest sformatowany), da się do tego dorobić export do pliku Excel?

0

Do jakiej wersji excela?

0

najnowsza wersja Excela

1

Skoro piszesz to w Powershell, to doinstaluj sobie moduł ImportExcel i z tego modułu Send-SQLDataToExcel i wtedy prosta linijka:

Send-SQLDataToExcel -MsSQLserver -Connection sql  -DataBase "baza" -SQL "select * from tabela" -Path c:\roboczy\temp.xlsx -WorkSheetname master -AutoSize -FreezeTopRow -AutoFilter -BoldTopRow

Dostaniesz excela

1 użytkowników online, w tym zalogowanych: 0, gości: 1