Создание строки подключения PowerShell - PullRequest
1 голос
/ 22 сентября 2011

Я пытался создать ConnnectionString, которая позволит мне подключаться к моей локальной базе данных с помощью PowerShell.Ниже мой код:

$conn = New-Object System.Data.SqlClient.SqlConnection
$conn.ConnectionString = "Server=localhost;Database=test;Uid=<username here>;Pwd=<password here>;"
$conn.Open()
$sql = "SELECT EMP_STATUS FROM test_table"
$cmd = New-Object System.Data.SqlClient.SqlCommand($sql,$conn)
$rdr = $cmd.ExecuteReader()
while($rdr.Read())
{
    $test = $rdr["EMP_STATUS"].ToString()
}
Write-Output $test

Тем не менее, я не знаю, что я делаю неправильно, и довольно долго выдергивал свои волосы.Может кто-нибудь помочь мне понять, что я делаю неправильно в ConnectionString?

Спасибо всем !!


Я понял, что моей первой проблемой было то, что у меня есть база данных MySQL, а не база данных SQL,В результате мне придется подключиться другим способом.Это именно то, где мне нужна твоя помощь !!Пока что я изменил свой код следующим образом:

[void][System.Reflection.Assembly]::LoadWithPartialName("MySql.Data")
$conn = New-Object MySql.Data.MySqlClient.MySqlConnection

$connString = "server=localhost;port=3306;uid=<username here>;pwd=<password here> ;database=test;"
$conn.ConnectionString = $connString
$conn.Open()
$sql = "SELECT EMP_STATUS FROM test_table"
$cmd = New-Object MySql.Data.MySqlClient.MySqlCommand($sql,$conn)
$rdr = $cmd.ExecuteReader()
$test = @()
while($rdr.Read())
{
    $test += ($rdr["EMP_STATUS"].ToString())
}
Write-Output $test

Однако вот еще несколько вопросов: 1) Как вы используете инструмент подключения MySQL .NET для подключения к локальной базе данных MySQL?2) Где должен быть сохранен этот скрипт PowerShell?3) Есть ли какие-либо дополнительные изменения, которые я должен сделать?

Большое спасибо

1 Ответ

6 голосов
/ 22 сентября 2011

попробуйте это:

$conn.ConnectionString = "Server=localhost;Database=test;User ID=<username here>;Password=<password here>;"

тогда $ test даст вам только последнее значение, найденное в select!Чтобы $ test содержал все значения из select, измените ваш код следующим образом:

$conn = New-Object System.Data.SqlClient.SqlConnection
$conn.ConnectionString = "Server=localhost;Database=test;User ID=<username here>;Password=<password here>;"
$conn.Open()
$sql = "SELECT EMP_STATUS FROM test_table"
$cmd = New-Object System.Data.SqlClient.SqlCommand($sql,$conn)
$rdr = $cmd.ExecuteReader()
$test = @()
while($rdr.Read())
{
    $test += ($rdr["EMP_STATUS"].ToString())
}
Write-Output $test
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...