2013-08-19 658 views
1

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

应怎样使用连接字符串?

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

我的应用程序是在C#。

我有这个脚本在T-SQL:

USE [master] 
GO 

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

回答

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"; 
     ... 
    } 
} 
+0

如何?请解释一下 –

+0

用一些c#代码更新了答案 – Stan

2

可以使用SMO对象做到这一点。我不认为我应该解释什么已经在一个非常好的教程中详细解释here

+0

你能解释一下吗?一些代码会很好。 –

+0

查看我发布的链接。 – Ehsan

1

肯定使用SMO它的目的是做SSMS可以做的所有事情,以及更多!它实际上有一个名为Database.Create()命令,按照这个MSDN page