Graag een momentje geduld,
Verwerken van Uw verzoek...

    0%
  Business logo VanSoest.it
  ... | Switch language to English |
Sharing is caring
| Deze webpagina afdrukken. | Nederlandstalige Linkedin pagina van Johan van Soest

Reageer: Briefkaart afbeelding. Klik hier om te reageren naar Johan.

WebHalla
 Content
  Management
   System

ICT-Hotlist Thema

Het exporteren van een Microsoft SQL server 2008r2 tabel naar Excel met behulp van PowerShell

Voor de introductie van PowerShell moest U Microsoft SQL Query Analyzer gebruiken om data te exporteren naar Excel (of, mits toegestaan, de query op de database uitvoeren rechtstreeks vanuit Excel). Deze tip vergelijkt een simpele query met behulp van SQL Query Analyzer versus PowerShell.
Het voorbeeld: Opvragen van alle records van de tabel Person.Contact uit de AdventureWorks-voorbeelddatabase.

Standaardrapport Query

De gegevens kunnen worden opgehaald worden met behulp van de Microsoft SQL Server Management Studio of Microsoft SQL Query Analyzer door de query uit te voeren:
-- ****************************************************************************
-- * This script displays all records / tuples of the table [Person].[Contact]
-- * from the Microsoft SQL Server sample database AdventureWorks
-- * (C)Copyright 2012 - 2024 Johan van Soest http://www.vansoest.it
-- ****************************************************************************

SELECT * FROM [AdventureWorks].[Person].[Contact]
Zorg ervoor dat U op de " Results to File" uitvoerselectie-knop klikt voordat U dit script uitvoert.
Sla het rapportbestand op onder een zelfgekozen naam. Daarna moet U het rapportbestand importeren en opmaken voor gebruik in Excel.

PowerShell Query versie

Klik in Microsoft SQL Server 2008r2 Management Studio met de rechtermuisknop ergens op de database boomstructuur en selecteer " Start PowerShell" zoals getoond in de volgende afbeelding:
Hoe een Microsoft SQL Server PowerShell command window te openen.
Start het Microsoft SQL Server PowerShell opdrachtvenster

Hiermee opent u een SQL Server PowerShell-venster dat de PowerShell commando's meteen accepteert. Met de volgende instructie wordt:
  • De AdventureWorks-database bevraagd
  • Selecteert U alle records/tupels uit de tabel Person.Contact
  • De query-uitvoer wordt omgeleid naar het komma gescheiden (CSV) uitvoerbestand met een commandlet (Cmdlet)
  • Dit herschrijft het bestand c:\Share\AdventureWorks.Person.Contact.CSV
  • Het uitvoerformaat is opgemaakt in Unicode.
Invoke-Sqlcmd -Query "SELECT * FROM [AdventureWorks].[Person].[Contact]" | Export-Csv c:\Share\AdventureWorks.Person.Contact.CSV -encoding "unicode"
Het bestand " AdventureWorks.Person.Contact.CSV" wordt geplaatst in de gedeelde map " c:\Share" op de SQL server en kan meteen worden geopend met Microsoft Excel 2007 of nieuwer.
Weergave van tabel AdventureWorks.person.contact in Microsoft Excel
Weergave van de tabel Person.Contact uit de AdventureWorks-voorbeelddatabase in Microsoft Excel

Het SQL Server PowerShell commando-venster is te sluiten door " exit" te typen.
Het voorbeeld kan worden uitgebreid tot meer complexe query's doormiddel van joins en where filters.

PowerShell command line versie

U kunt ook Microsoft SQL Server PowerShell scripts draaien op de commando regel op een computer waarop de SQL Server PowerShell plugins zijn geïnstalleerd. De PowerShell modules worden standaard geïnstalleerd wanneer Microsoft®SQL Server is geïnstalleerd. U kunt PowerShell Extensions for SQL Server 2012, 2014 of 2016 installeren door de volgende componenten uit de Microsoft® SQL Server® 2016 Feature Pack te installeren:
  • Microsoft® System CLR Types for Microsoft SQL Server® 2016 (SQLSysClrTypes.msi)
  • Microsoft® SQL Server® 2016 Shared Management Objects (SharedManagementObjects.msi)
  • Microsoft® Windows PowerShell Extensions for Microsoft SQL Server® 2016 (PowerShellTools.msi)
Het volgende script toont dezelfde query maar nu voor het uitvoeren met PowerShell op de commando regel of met behulp van ISE.
#############################################################################
# This script displays all records / tuples of the table [Person].[Contact]
# from the Microsoft SQL Server sample database AdventureWorks running on
# this computer (localhost) using PowerShell on the command line
# (C)Copyright 2016 - 2024 Johan van Soest http://www.vansoest.it
#############################################################################

# Load the Microsoft SQL-Server snap in modules

Add-PSSnapin SQLServer*

# Setup the query statement
$Query = "SELECT * FROM [AdventureWorks].[Person].[Contact]"
$DataBase = "AdventureWorks"
$ServerInstance = "localhost"

# Open the database connection, get a result set and save it as a Unicode CSV file.
Invoke-Sqlcmd -Query $Query -Database $DataBase -ServerInstance $ServerInstance |
    Export-Csv c:\Share\AdventureWorks.Person.Contact.CSV -encoding "unicode"
U mag stemmen over dit artikel:


Scripts en programmeervoorbeelden disclaimer

Tenzij anders vermeld, zijn de scriptcode en programmeervoorbeelden auteursrechtelijk beschermde (copyright) freeware. U mag deze wijzigen, zolang een verwijzing naar de oorspronkelijke code en een hyperlink naar de bronpagina is opgenomen in de gewijzigde code en documentatie. Het is echter niet toegestaan om (kopieën van) de scripts en programmeervoorbeelden te publiceren op uw eigen site, blog, vlog, of te distribueren op papier of een andere drager, zonder voorafgaande schriftelijke toestemming.
Bij veel van de technieken gebruikt in deze scripts, met inbegrip van maar niet beperkt tot register-wijzigen of wijzigingen aan systeembestanden of instellingen, bestaat een risico dat een werkend besturingssysteem onbruikbaar wordt en gegevens verloren kunnen raken. Zorg ervoor dat U gecontroleerd heeft dat U beschikt over volledige back-ups en de bijbehorende herstelsoftware voordat U deze scripts of programmavoorbeelden gebruikt. Het gebruik van deze scripts en programmeervoorbeelden is volledig Uw eigen risico. Alle aansprakelijkheidsclaims tegen de auteur met betrekking tot materiële of niet-materiële verliezen als gevolg van het gebruik, misbruik of niet-gebruik van de verstrekte informatie of het gebruik van onjuiste of onvolledige informatie, zijn uitgesloten. Alle inhoud is onderhevig aan verandering en geleverd zonder verplichting.
Gegenereerd door WebHalla™ Versie 0.1.e.7 : Zaterdag 20-4-2024 © Copyright 1995-2024 ing. Johan P.G. van Soest CIPM Certified Privacy Information Manager
Respons Formulier    Cookie- en Privacy statement    Responsible Disclosure procedure
Weer in Waalre door OpenWeatherMap logo bewolkt
Temperatuur 5.79 °C bewolkt
Gevoelstemperatuur 2.76 °C bewolkt
Luchtvochtigheid 68 % bewolkt
Luchtdruk 1012 hPa bewolkt
Windsnelheid 4.12 m/s bewolkt
Windrichting Noord West Noord West bewolkt
Zon opkomst 6:31 Zon opkomst
Zonsondergang 20:42 Zonsondergang
Updated:2024-04-20 00:42:38 bewolkt
| Current user: Gast | Login |