2013-02-25 36 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 
相关问题