【问题标题】:Creating a new Database on Azure with C#使用 C# 在 Azure 上创建新数据库
【发布时间】:2019-06-26 11:58:02
【问题描述】:

是否可以通过 SqlCommand 在 Azure 连接上创建新数据库?

现在,我有这个:

 String str = $"Create database {DatabaseName} ( EDITION = 'basic' );";
 SqlCommand myCommand = new SqlCommand(str, myConn);

 var optionsBuilder = new DbContextOptionsBuilder<Context>();
 optionsBuilder.UseSqlServer(Config.ConnectionString(DatabaseName));
 try
 {
      myConn.Open();
      myCommand.ExecuteNonQuery();
 }

连接成功,但myCommand.ExecuteNonQuery(); 正在引发:连接超时。

我需要在 azure 上使用随机生成的名称从我的 .NET Core 应用程序创建数据库。这可能吗?

【问题讨论】:

  • 您尝试针对尚不存在的数据库执行您的语句。您需要针对master 数据库执行创建数据库语句
  • 我认为您是在尝试通过代码创建新的 SQL 数据库服务?
  • 参见此处以获取类似示例。只需交换 Create Database 语句和连接字符串:support.microsoft.com/en-au/help/307283/…

标签: c# azure asp.net-core


【解决方案1】:

是的,您可以在 Azure SQL 数据库中创建新数据库。见这里:https://docs.microsoft.com/en-us/sql/t-sql/statements/create-database-transact-sql?view=azuresqldb-current

只需使用通常的创建数据库语句(针对master 数据库):

CREATE DATABASE TestDB2
( EDITION = 'GeneralPurpose' );

不过,您可能需要增加超时时间。我刚测试的时候这个语句用了大约 40 秒。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-04
    • 2011-11-09
    • 1970-01-01
    • 2015-04-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多