2011-09-22 105 views
0

我一直在試圖創建一個ConnnectionString,它允許我使用PowerShell連接到本地數據庫。下面是我的代碼:創建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)我應該做什麼額外的改變?

非常感謝

+0

什麼是錯誤?什麼沒有用? – manojlds

+0

嘿,那裏,我只是指出,我使用錯誤的連接方法連接到MySQL數據庫。不過,我在下面發佈了另一個問題,詢問我如何使用.NET連接工具連接到本地MySQL數據庫。 – user958267

+1

請編輯您的問題以提供更多信息。答案應該是問題的答案,他們不打算討論。 –

回答

4

試試這個:

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

然後$測試給你僅在選擇中的最後一個值! 要$ test包含選擇的所有值,請更改您的代碼,如下所示:

$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