2013-08-19 507 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