Maison >base de données >tutoriel mysql >Comment puis-je exécuter des requêtes SQL Server à partir de PowerShell ?

Comment puis-je exécuter des requêtes SQL Server à partir de PowerShell ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-06 01:06:41735parcourir

How Can I Run SQL Server Queries from PowerShell?

Exécuter des requêtes SQL Server à partir de PowerShell

PowerShell fournit plusieurs méthodes pour exécuter des requêtes SQL Server à partir d'une machine locale. Une approche polyvalente consiste à utiliser les classes intégrées de .NET pour accéder aux bases de données.

La fonction PowerShell suivante, Invoke-SQL, vous permet d'exécuter des requêtes arbitraires sur une instance de SQL Server :

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
}

Pour exécuter une requête à l'aide de cette fonction :

  1. Remplacez les valeurs par défaut de $dataSource, $database et $sqlCommand avec vos valeurs spécifiques.
  2. Appelez la fonction avec les paramètres modifiés.

Par exemple, pour exécuter la requête "SELECT * FROM Customers" sur une instance locale en utilisant le " Base de données "Northwind" :

$results = Invoke-SQL -Database 'Northwind' -SqlCommand "SELECT * FROM Customers"

La variable $results contiendra un objet table avec les résultats de la requête.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn