CREATE DATABASE ステートメント実行時のエラー [VB.NET]
----------------------------------------------------------
(開発・実行環境)
Microsoft Visual Studio 2005 Tools for Applications
Microsoft Visual Basic 2005
Microsoft SQL Server 2005
----------------------------------------------------------
VB から SQL Server にプログラムで新規にDBを作る場合、CREATE DATABASEステートメントを実行する。
が、普段 SELECT したり INSERT したりするのと同じように実行すると、
「CREATE DATABASE ステートメントは、複数のステートメントを含むトランザクション内では許可されません。」
とエラーが発生する。
こちら を参考にすると解決。(ありがとうございます!MSDN意味不明だもん。。)
自動コミットメントモード。。なんじゃそりゃ。。
トランザクションじゃない、ってことは、コミットしたりロールバックしたりしない、ってことか。
要は、SqlClient.SqlTransaction型の変数を使って、
BeginTransactionとか、
Rollbackだとか、
Commitなんかをしない、ってことかね。
なるほど。
ちなみに、CREATE TABLE は、SqlTransaction有りでも無しでも両方通った。
(追記)2009/10/30
バックアップファイルを作成する、BACKUP DATABASE ステートメントでも、CREATE DATABASE と同様の挙動が見られた。
コメント 0