2015-09-07 67 views
0

我有一个名为'SQLDatabase'的数据库。它有很多文件夹,如'System _Database', 'R_Database','ReportServer'等。传递查询并访问Powershell中的SQL Server数据库

我需要访问'R_Database'

现在'R_Database'有一个像'Storage', 'Security', 'Usage', 'Tables'.

我需要访问'Tables'许多文件夹。

再次,'Tables'有很多表格。 我需要访问名为'DB_Batch'的特定表,并对其进行更新。

我该怎么办?

这是我为连接到SQL Server和代码所做的代码。但它失败了。

$dataSource = ".\MSSQL" 
$user = "userID" 
$pwd = "password01" 
$database = "SQLDatabase" 
$connectionString = "Server=$dataSource;uid=$user; pwd=$pwd;Database=$database;Integrated Security=False;" 
$connection = New-Object System.Data.SqlClient.SqlConnection 
$connection.ConnectionString = $connectionString 
#$connection.ConnectionString = "Server=$dataSource;Database=$database;Integrated Security=True;" 
$connection.Open() 
query = <query>..???? 

现在我想我需要通过查询。我该怎么办? 我需要先访问表格然后更新它。

我甚至写了下面的代码来结束上面的代码,但无法测试,因为我卡住了。

$command = $connection.CreateCommand() 
$command.CommandText = $query 

$result = $command.ExecuteReader() 
$result 

我的请求,请帮我这个。我一直在尝试这个好几天。我正在使用Powershell v2.0

回答

0

要插入/更新表格,请使用SqlCommand及其ExecuteNonQuery()

$cmd = New-Object System.Data.SqlClient.SqlCommand 
$cmd.connection = $connection 
$cmd.commandtext = "INSERT INTO myTable (myColumn) values ({0})" -f $myValue 
$cmd.ExecuteNonQuery()