2012-03-02 61 views
0

我的解決方案中有一個.sql文件。這個.sql文件有一些創建數據庫的腳本,在這個.sql文件的幫助下,我想在運行時創建一個數據庫。我有很多片段在C#中運行.sql文件。但是如果它們存在於我自己的解決方案中,並且解決方案可以放置在任何位置。是的,我可以通過解決方案路徑獲取文件路徑,然後執行它,但是read somewhere that it is advisable。那麼這是我必須遵循的方法嗎?即使我發佈我的應用程序,如果我這樣做會好嗎?運行解決方案中存在的.sql文件

回答

0

你應該將它設置爲編譯作爲嵌入資源,然後調用typeof(SomeType).Assembly.GetManifestResourceStream("YourNamespace.FileName.sql")

+0

好的...和你的查詢中SomeType是什麼?而且我無法在NamespaceName.FileName.sql中找到我的文件名 – Sandy 2012-03-02 22:37:40

+0

@rapsalands:程序集中的任何類型。什麼? – SLaks 2012-03-02 22:51:01

+0

我不知道我的例子中應該是什麼類型。你有沒有幫助一個例子或相關的鏈接?請 – Sandy 2012-04-27 10:47:41

0

把所有的SQL腳本名稱SchemaScripts.sql。此文件將有條目類似下面:

:r .\Tables\MyTable.sql 
:r .\StoredProcedures\My_SP.sql 

記下的批處理文件下面的代碼,並將其保存在SchemaScripts.sql文件的同一位置:

sqlcmd -b -E -S .\SQLEXPRESS -d DatabaseName -i .\SchemaScripts.sql 

執行批處理文件。

相關問題