【问题标题】:Can we use SQLTransaction in Windows Powershell ISE?我们可以在 Windows Powershell ISE 中使用 SQLTransaction 吗?
【发布时间】:2011-12-23 22:24:34
【问题描述】:

我尝试在 Powershell ISE 中使用 SQLDataAdapter 对象及其方法,如下所示

    $SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter 

并使用如下方法

$SqlAdapter.Fill($DataSet)

它对我有用。但是当我像下面这样尝试时

$trans= New-Object System.Data.SqlClient.SqlTransaction

并像这样使用它的方法

$trans = $connection.BeginTransaction("SampleTransaction")

在哪里

$connection= New-Object System.Data.SqlClient.SqlConnection

它给了我错误

使用“1”参数调用“BeginTransaction”的异常:“无效 手术。连接已关闭。”在 line:1 char:41 + $trans = $SqlConnection.BeginTransaction

有人对此有任何想法吗?

【问题讨论】:

    标签: powershell


    【解决方案1】:

    您似乎还没有打开连接。

    你只是想念吗:

     $connection.Open();
    

    这将是我的第一个猜测。

    【讨论】:

      【解决方案2】:

      我同意 Gisli 关于打开连接的看法。你的其余代码在哪里?另一种方法是使用命令对象并将命令事务属性分配给命令:

      $cmd=new-object system.Data.SqlClient.SqlCommand($sql,$conn)
      $cmd.Transaction = $transaction
      

      这就是我们在 SQL Server Powershell Extensions 的一部分的 adolib 模块中所做的。查看 Modules\adolib\adolib.psm1。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-01-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-20
        相关资源
        最近更新 更多