如何在创建数据库命令期间使用Transactions属性(在C#中)

本文关键字:属性 Transactions 创建 数据库 命令 | 更新日期: 2023-09-27 18:09:16

  • 我需要创建一个数据库
  • 在创建的数据库上运行SQL脚本
  • 我需要在创建的Db中输入一些数据

如果任何一个步骤失败,整个事务甚至应该回滚数据库创建。但当我在Create数据库上使用transaction属性时,它抛出了一个异常

在多语句事务中不允许使用CREATE DATABASE语句。

是否有任何方法可以实现相同的而不是删除数据库命令。(即通过程序删除数据库(

如何在创建数据库命令期间使用Transactions属性(在C#中)

恐怕你做不到。

来自MSDN文档:

CREATE DATABASE语句必须在自动提交模式下运行(默认事务管理模式(,并且在显式或隐含交易。

不,这是不可能的。CREATE DATABASE:

CREATE DATABASE语句必须在自动提交模式(默认事务管理模式(下运行,并且不允许在显式或隐式事务中运行。

因此,您必须在最后进行明确检查,并发出DROP DATABASE进行清理。