Powershell összekötése MySQL vagy T SQL adatbázissal

- Nyisd meg a PowerShell programot adminisztrátori jogokkal. (Jobb kattintás -> Futtatás rendszergazdaként)
- Microsoft SQL esetén telepítsd a következő PowerShell csomagot (másold ki a parancsot):
Install-Module SqlServer
- MySQL esetén telepítsd a MySQL Connector segédprogramot (töltsd le, és telepítsd):
1 – mysql-connector-net-8.0.25 - Nyisd meg a PowerShell programot.
- MySQL esetén illeszd be ezt a funkciót a szkriptedbe:
function Invoke-MySQL {
Param([Parameter(Mandatory = $true,ParameterSetName = '',ValueFromPipeline = $true)][string]$Query,[string]$database)
# Hozz létre egy adatbázist és egy felhasználót hozzá, legalább olvasási (select) joggal
# Add meg a mysql szerver és felhasználó adatait
$MySQLAdminUserName = 'felhasználónév'
$MySQLAdminPassword = 'jelszó'
$MySQLDatabase = $database
$MySQLHost = 'MySQL szerver IP címe vagy neve'
$ConnectionString = "server=" + $MySQLHost + "; port=3306; uid=" + $MySQLAdminUserName + "; pwd=" + $MySQLAdminPassword + "; database="+$MySQLDatabase
Try {
[void][System.Reflection.Assembly]::LoadWithPartialName("MySql.Data")
$Connection = New-Object MySql.Data.MySqlClient.MySqlConnection
$Connection.ConnectionString = $ConnectionString
$Connection.Open()
$Command = New-Object MySql.Data.MySqlClient.MySqlCommand($Query, $Connection)
$DataAdapter = New-Object MySql.Data.MySqlClient.MySqlDataAdapter($Command)
$DataSet = New-Object System.Data.DataSet
$RecordCount = $dataAdapter.Fill($dataSet, "data")
$DataSet.Tables[0]
}
Catch {
throw "ERROR : Unable to run query : $query `n$Error[0]"
}
Finally {
$Connection.Close()
}
}
- Kész! A következő paranccsal éred el a MySQL adatbázist:
# Ne feledd megadni a parancsban az adatbázisod nevét!
Invoke-MYSQL -database "adatbázisod_neve" -Query "SELECT * FROM TABLE"
- Microsoft SQL esetén a következő funkciót illeszd be a PowerShell szkriptedbe:
function MSSQL {
param($query, $database)
# Hozz létre egy adatbázist és egy felhasználót hozzá, legalább olvasási (select) joggal
# Add meg a Microsoft SQL szerver IP címét vagy nevét, az SQL "instance"-t egy "\" karakterrel elválasztva.
# Majd add meg a felhasználód adatait
Invoke-Sqlcmd -ServerInstance "SZERVERIP\SQL" -Username "felhasználó" -Password "jelszó" -Database $database -Query $query
}
- Kész! A következő paranccsal éred el a Microsoft SQL adatbázist:
# Ne feledd megadni a parancsban az adatbázisod nevét!
MSSQL -database "adatbázisod_neve" -Query "SELECT * FROM TABLE"