Exécution des requêtes SQL de PowerShell sur votre machine locale
PowerShell offre la possibilité d'exécuter des requêtes SQL arbitraires sur une instance SQL Server. Cela peut être fait avec Just Stock .NET et PowerShell. Voici une fonction qui simplifie le processus:
function Invoke-SQL { param( [string] $dataSource = ".\SQLEXPRESS", [string] $database = "MasterData", [string] $sqlCommand = $(throw "Please specify a query.") ) $connectionString = "Data Source=$dataSource; " "Integrated Security=SSPI; " "Initial Catalog=$database" $connection = new-object system.data.SqlClient.SQLConnection($connectionString) $command = new-object system.data.sqlclient.sqlcommand($sqlCommand,$connection) $connection.Open() $adapter = New-Object System.Data.sqlclient.sqlDataAdapter $command $dataset = New-Object System.Data.DataSet $adapter.Fill($dataSet) | Out-Null $connection.Close() $dataSet.Tables }
Cette fonction vous oblige à spécifier la source de données (généralement votre nom de machine ou. \ SQLEXPRESS), le nom de la base de données, et la commande SQL que vous souhaitez exécuter.
Une fois que vous avez défini cette fonction avec les paramètres arbitraires appropriés. Par exemple, la commande suivante exécutera la requête "sélectionner * dans les clients" sur la base de données "MyDatabase" sur l'instance SQL Server locale:
Invoke-SQL -database "MyDatabase" -sqlCommand "SELECT * FROM Customers"
PowerShell.
Cette fonction a été encore améliorée en un module PowerShell disponible sur github: https://github.com/chrismagnuson/invokesql. En installant ce module, vous pouvez charger automatiquement la fonction Invoke-SQL dans votre environnement PowerShell et l'utiliser de manière transparente sans avoir à le définir manuellement.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3