|
|
|
|||||||
|
ICT-Hotlist ThemaHet exporteren van een Microsoft SQL server 2008r2 tabel naar Excel met behulp van PowerShellVoor 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 QueryDe 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:
-- ****************************************************************************
Zorg ervoor dat U op de "
Results to File" uitvoerselectie-knop klikt voordat U dit script uitvoert.
-- * 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] Sla het rapportbestand op onder een zelfgekozen naam. Daarna moet U het rapportbestand importeren en opmaken voor gebruik in Excel. PowerShell Query versieKlik 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: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:
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 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 versieU 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:
#############################################################################
# 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 disclaimerTenzij 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. |