So-net無料ブログ作成
検索選択

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 と同様の挙動が見られた。


nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。

×

この広告は1年以上新しい記事の更新がないブログに表示されております。