从脚本运行时创建数据库

时间:2013-08-19 11:49:33

标签: c# sql sql-server database

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

我使用什么连接字符串?

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

我的申请是在C#。

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

USE [master]
GO

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

3 个答案:

答案 0 :(得分:2)

您可以使用SMO个对象来执行此操作。我认为我不应该在一篇非常好的教程here

中解释已经详细解释的内容

答案 1 :(得分:2)

您可以拥有两个连接字符串。一个用于master数据库,用于发出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";
        ...
    }
}

答案 2 :(得分:1)

绝对使用SMO,它的目的是做SSMS可以做的一切,甚至更多!它实际上有一个名为Database.Create()的命令,请遵循此MSDN page

相关问题