Para conexões com MSSQL utilizamos objetos do tipo System.Data.SqlClient.SqlConnection, podemos criar o objeto com seguinte comando.
$sql = new-object System.Data.SqlClient.SqlConnection;
Agora podemos analisar as propriedades dele com o cmdlet Get-Member
$sql | Get-Member
Vamos começar preenchendo a propriedade ConnectionString, com os dados da conexão.
$server = "localhost"
$user = "sa"
$password = "Pa$$w0rd"
$database = "TESTE_DB"
$sql.ConnectionString=“server=$server;user id=$user;password=$password;database=$database;pooling=false”
Após criarmos a conexão precisamos criar um objeto do tipo System.Data.SqlClient.SqlCommand para colocarmos o comando que vamos executar.
$sqlCmd = New-Object System.Data.SqlClient.SqlCommand
Também vamos precisar ter a string do comando que vamos executar
$Comando = “select * from tabela
Agora precisamos atribuir o comando que criamos e a conexão ao objeto $sqlCmd
$sqlCmd.CommandText = $comando
$sqlCmd.Connection = $sql
Feito isso temos o objeto $sqlCmd pronto para a execução, iniciamos então abrindo a conexão e executando o comando.
$sql.open()
$sqlReader = $sqlcmd.ExecuteReader()
Agora temos que verificar os itens retornados, eles ficam dentro do $sqlReader no método Read, então executamos o código a baixo para retornar os itens.
while($sqlReader.Read()){
$sqlReader[0]
}
Devemos notar que o $sqlReader é um vetor, em cada uma das posições do vetor vai representar uma das colunas retornadas pelo select, caso queiramos a segunda coluna trocamos o [0] por [1].
Após isto não podemos esquecer de fechar a conexão com o banco.
$sql.Close()
Caso nosso interesse seja um insert, delete ou outro comando que não seja de leitura, utilizamos o ExecuteNonQuery ao invés do ExecuteReader.
$sqlReader = $sqlCmd.ExecuteNonQuery()
MySQL via PowerShell
Para utilizarmos o MySQL no Powershell é necessário termos uma DLL chamada MySql.Data.dll, que vem pode ser baixada no site do MySQL ( ela vem junto ao cliente MySQL )Primeiro temos que carregar a DLL para nossa sessão Powershell.
[void][system.reflection.Assembly]::LoadFrom(“C:\MySql.Data.dll”)
Todo processo é muito semelhante ao do MSSQL, porém os objetos utilizados para criação da connection string e dos comandos muda.
Para criarmos a connection string utilizamos:
$sql = new-object MySql.Data.MySqlClient.MySqlConnection;
$server = "localhost"
$user = "root"
$password = "Pa$$w0rd"
$database = "TESTE_DB"
$sql.ConnectionString=“server=$server;user id=$user;password=$password;database=$database;pooling=false”
Então para executarmos o comando criamos o objeto de comando referente ao MySQL.
$sqlCmd = New-Object MySql.Data.MySqlClient.MySqlCommand
Retirado de : https://social.technet.microsoft.com/wiki/pt-br/contents/articles/14100.executando-comandos-mysql-e-mssql-no-powershell.aspx
Em: 09/11/2017
Nenhum comentário:
Postar um comentário
Observação: somente um membro deste blog pode postar um comentário.