1

我有一个 T-SQL 脚本来创建数据库。我需要创建这个数据库运行时。当应用程序正在运行时。

我使用什么连接字符串?

如何连接到服务器并创建数据库?我以网络用户身份连接到服务器。我没有使用用户“sa”我有一个用户“DBCreator”

我的应用程序在 C# 中。

我在 T-SQL 中有这个脚本:

USE [master]
GO

CREATE DATABASE [XYZ]
-- Table Creation Code etc.
4

3 回答 3

2

您可以有两个连接字符串。一个用于主数据库发出 CREATE DATABASE ... 语句,另一个用于创建数据库。

// You can use replace windows authentication with any user credentials who has proper permissions.
using (SqlConnection connection = new SqlConnection(@"server=(local);database=master;Integrated Security=SSPI"))
{
    connection.Open();

    using (SqlCommand command = connection.CreateCommand())
    {
        command.CommandText = "CREATE DATABASE [XYZ]";
        command.ExecuteNonQuery();
    }
}

// Quering the XYZ database created
using (SqlConnection connection = new SqlConnection(@"server=(local);database=XYZ;Integrated Security=SSPI"))
{
    connection.Open();

    using (SqlCommand command = connection.CreateCommand())
    {
        command.CommandText = "select * from sys.objects";
        ...
    }
}
于 2013-08-19T12:49:12.427 回答
2

您可以使用SMO对象来执行此操作。我认为我不应该在这里的一个非常好的教程中解释已经详细解释的内容

于 2013-08-19T11:54:04.793 回答
1

绝对使用 SMO,它旨在完成 SSMS 可以做的所有事情,甚至更多!它实际上有一个名为 Database.Create() 的命令,请遵循此 MSDN页面

于 2013-08-19T13:57:08.213 回答