Kategorie szkoleń | Egzaminy | Kontakt
  • 1
  • 1
  • 25

Witam.

Chcę wyciągnąć sobie pewne rzeczy z bazy sql. Mam stworzone zapytanie i plik wgrywam przez Invoke-Sqlcmd.

Invoke-Sqlcmd -InputFile "D:\Test\test.sql" -ServerInstance "192.168.0.100\BAZA" -Database "BAZA_TEST" -Username "sa"

Dane pobiera i wypluwa na ekran. Jest super.

W skrypcie mam ponazywane pola w SELECT np tabela.pole AS NAZWA. Jak te nazwy przypisać do zmiennych?

$xmlWriter.WriteElementString("Color","Blue") 

Chciałbym w tym zapisie zamiast "Blue" wstawić zmienną, która wyświetli mi wartości z zapytania. Chyba, że zapytanie nie powinno się pobierać z pliku, tylko trzeba wkleić do skryptu?

Tomasz_S
  • Zapytał
  • @ Tomasz_S | 08.02.2017
    • 7
    • 1
    • 0

Odpowiedź (1)

  • 1

Wyjściem z cmdletu jest obiekt z właściwościami o nazwach kolumn, z których możemy skorzystać jak w poniższym przykładzie:

$result = Invoke-Sqlcmd -Query "SELECT name, state_desc FROM sys.databases"
 foreach($row in $result){
         Write-Host $row.state_desc
         Write-Host $row.name}

 

  • Odpowiedział
  • @ | 08.02.2017
  • TRENER ALTKOM AKADEMII
Komentarze
Rozumiem, że zapytanie nie może się wczytywać z pliku tylko musi być umieszczone bezpośrednio w skrypcie?
Skomentował : @ Tomasz_S ,08.02.2017
  • 7
  • 1
  • 0
Może być wczytane z pliku, to nie ma znaczenia, użyłem zapytania inline tylko dlatego, aby pokazać zależność między polami na liście SELECT zapytania, a właściwościami uzyskiwanymi w obiekcie wyjściowym ($row).
Skomentował : @ TRENER ALTKOM AKADEMII ,10.02.2017