2011-12-23 2 views
0

私はPowerShellのISEとWindows PowerShell ISEでSQLTransactionを使用できますか?

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

以下のようにそのメソッドでSqlDataAdapterオブジェクトを使用してみましたし、私のために働い

$SqlAdapter.Fill($DataSet) 

その下のようにそのメソッドを使用していました。しかし、私は

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

、私に "でBeginTransaction" を呼び出し、エラー

例外を与える

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

その本

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

のようにそのメソッドを使用して以下のようにしようとしていますとき、 "1"引数: "無効な 操作。接続が閉じている「ライン:1つの文字:41 + $トランス= $ SqlConnection.BeginTransaction < < < <。( "SampleTransaction") + CategoryInfo:NotSpecified:(:) []、MethodInvocationException + FullyQualifiedErrorId:DotNetMethodException

この上の任意のアイデアを持っ

誰もがあなたが接続を開いていないようだ

答えて

0

??

は、あなたは、単に不足している:。

$connection.Open(); 

これは私の最初の推測です。

0

私は接続を開く際にGisliに同意します。残りのコードはどこにありますか?別のアプローチは、コマンドオブジェクトを使用して、コマンドをコマンドトランザクションのプロパティを割り当てることです:

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

これは、我々はSQL Server Powershell Extensionsの一部であるadolibモジュールに何をすべきかです。 Modules \ adolib \ adolib.psm1をチェックしてください。

関連する問題