2013-02-25 84 views
1

嗨我試圖在我的本地PC上執行一個Powershell,但使用來自遠程SQL服務器的數據。Powershell連接字符串到SQL服務器

我有這樣的腳本。這是錯誤的,因爲我沒有說明用戶名和密碼登錄到服務器。有誰能告訴我這樣做的正確格式嗎?

$SqlConnection = New-Object System.Data.SqlClient.SqlConnection 
$SqlConnection.ConnectionString = "Server=10.10.1.34;Database=AMSDataWarehouseTest;user id=YQBGantt;password=123yqbgantt" 
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand 
$SqlCmd.CommandText = "YQBreport1" 
$SqlCmd.Connection = $SqlConnection 
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter 
$SqlAdapter.SelectCommand = $SqlCmd 
$DataSet = New-Object System.Data.DataSet 
$SqlAdapter.Fill($DataSet) 
$SqlConnection.Close() 
$SQLResult =$DataSet.Tables[0] 
$commands = $SQLResult | foreach-object -process { $_.output }> output.ps1 
.\output.ps1 
+0

你怎麼知道它的錯誤?如果有錯誤*請告訴我們它是什麼*。 (我可以看到你已經包含了用戶名和密碼,這顯然不是問題。) – Richard 2013-02-25 11:40:30

+0

嗨Richard,用戶名和密碼是針對數據庫的,而不是針對服務器的。能夠使用服務器上的數據庫我想我需要包括登錄到服務器以及連接字符串以某種方式。 – Apriljuly 2013-02-25 12:26:03

+0

不,您不需要登錄到服務器,然後再登錄到SQL Server。您只需登錄到SQL Server。 – Richard 2013-02-25 12:30:30

回答

2

嘗試使用此連接字符串,而不是:

Data Source=10.10.1.34;Initial Catalog=AMSDataWarehouseTest;uid=YQBGantt;pwd=123yqbgantt 

此外,確保SQL Server配置爲accept remote connections

0

我在名爲'Hodentek8'的筆記本電腦上有一個名爲'RegencyPark'的SQL Server實例2012。這些語句連接到我的SQL Server並將其打開。

PS C:\Users\Jayaram> $ConnectionString="Server=Hodentek8\RegencyPark;database=AdventureWorks2012;trusted_connection=true;" 

PS C:\Users\Jayaram> $Connection = New-Object System.Data.SQLClient.SQLConnection($ConnectionString) 

PS C:\Users\Jayaram> $Connection.Open() 

PS C:\Users\Jayaram> $Connection.State 
Open