【问题标题】:Pass a query and access SQL Server Database in Powershell在 Powershell 中传递查询并访问 SQL Server 数据库
【发布时间】:2015-12-02 20:52:38
【问题描述】:

我有一个名为'SQLDatabase' 的数据库。它有许多文件夹,如'System _Database', 'R_Database','ReportServer' 等。

我需要访问'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

【问题讨论】:

    标签: sql-server powershell powershell-2.0 sqlps


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多