2016-06-27 9 views
0

SQLコマンドで接続を変更する方法はありますか?SQLコマンドの接続変更のみ

同じコマンドを2つのデータベース(私のメインデータベースとバックアップデータベース)で実行します。これらの線に沿って

何か:

Cmd.connection = dbMain 
Cmd.executenonquery 
Cmd.connection = dbbackup 
Cmd.executenonquery` 

コードスニペットは:両方のデータベースが同じSQL Serverを使用したため

Using _cmdInsert 
     _cmdInsert.ExecuteNonQuery() 
End Using 

Try 
    Dim _conR As New SqlConnection 
    _conR.ConnectionString = Replace(_connectionstring, "_MAIN_", "_BACKUP_") 
    _conR.Open() 

    cmdInsert.Connection = conR 

     Using _cmdInsert 
       _cmdInsert.ExecuteNonQuery() 
     End Using 

    _conR.Close() 
Catch ex As Exception 

End Try 
+0

試してみるとどうなりますか? – David

+0

私の鍵はAIではないので、主キーの違反と言われます。そのエラーによって、接続が変更されていないことを確認してください。私はthgroughブレークポイントをデバッグするときに、すべての接続で問題なく、何とかそれはそれを変更しません – t3cho

+0

デバッグを想定しません。問題のデータベースをプロファイルし、それらに送信されるクエリを観察できますか?これは、どのデータベースが2番目のクエリを受信して​​いるかを確認します。 – David

答えて

1
Cmd.connection = dbMain 
using(cmd) 
{ 

    Cmd.executenonquery ; 

} 

    Cmd.connection = dbbackup; 
using (cmd) 
{ 

    Cmd.executenonquery; 
} 
+0

これは役に立たなかった。まだ同じエラー – t3cho

+0

何がクエリであり、あなたが自動的にpkを生成しているかどうか、そのissuと思う – satsvelke

0

問題はその中にいました。

クエリは、テーブルが同じで、データベースが同じSQL Serverに接続されていても、同じデータベースを何回更新しても同じdatabaseであると仮定して、update database.dbo.tableのようになりました。

関連する問題