Melaksanakan Pertanyaan SQL daripada PowerShell pada Mesin Setempat Anda
PowerShell menyediakan keupayaan untuk melaksanakan pertanyaan SQL sewenang-wenangnya pada contoh SQL Server. Ini boleh dilakukan dengan hanya stok .NET dan PowerShell. Berikut ialah fungsi yang memudahkan proses:
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 }
Fungsi ini memerlukan anda untuk menentukan sumber data (biasanya nama mesin anda atau .SQLEXPRESS), nama pangkalan data dan arahan SQL yang anda mahu laksanakan.
Setelah anda menetapkan fungsi ini, anda boleh melaksanakan pertanyaan sewenang-wenang dari dalam PowerShell dengan memanggil Invoke-SQL dengan parameter yang sesuai. Sebagai contoh, arahan berikut akan melaksanakan pertanyaan "SELECT * FROM Customers" pada pangkalan data "MyDatabase" pada contoh SQL Server tempatan:
Invoke-SQL -database "MyDatabase" -sqlCommand "SELECT * FROM Customers"
Ini akan mengembalikan set data yang mengandungi hasil pertanyaan, yang kemudiannya boleh anda gunakan dalam PowerShell.
Fungsi ini telah dipertingkatkan lagi menjadi modul PowerShell yang tersedia di GitHub: https://github.com/ChrisMagnuson/InvokeSQL. Dengan memasang modul ini, anda boleh memuatkan fungsi Invoke-SQL secara automatik ke dalam persekitaran PowerShell anda dan menggunakannya dengan lancar tanpa perlu mentakrifkannya secara manual.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Pertanyaan SQL Terus daripada PowerShell?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!