有沒有辦法在.NET項目中打開和讀取文本文件?我知道我可以使用System.IO.StreamReader類來爲Windows文本文件執行此操作。在.NET項目中讀取文本文件
我想存儲一些SQL腳本,用於在我的項目中的文本文件中升級我的數據庫。由於我在VB中編寫這個代碼,我不能直接將腳本粘貼到我的代碼中,因爲行繼續,如果是C#,我可以將它們粘貼到代碼中。這些是非常長的腳本。
有沒有辦法在.NET項目中打開和讀取文本文件?我知道我可以使用System.IO.StreamReader類來爲Windows文本文件執行此操作。在.NET項目中讀取文本文件
我想存儲一些SQL腳本,用於在我的項目中的文本文件中升級我的數據庫。由於我在VB中編寫這個代碼,我不能直接將腳本粘貼到我的代碼中,因爲行繼續,如果是C#,我可以將它們粘貼到代碼中。這些是非常長的腳本。
項目中的文本文件不會添加到您的可執行文件中。您可以在.sql文件的屬性中啓用Copy to Output Directory
。這會將它們與您的程序集一起復制到bin
目錄。
從那裏,你的程序可以像讀取任何其他文件一樣讀取它們。
作爲資源嵌入程序集中,然後使用ResourceManager
在運行時將它們讀入Stream
或String
?
您可以使用嵌入式資源並使用由Assembly.GetManifestResourceStream返回的流上的StreamReader來讀取這些資源。
我自己碰到了這個問題。 我可以看到Jeff接受了將源文件複製到項目文件夾中的解決方案。
但是,我不適合在文件區域中放置db-create/drop/alter腳本。我發現後面再問這個問題。這裏是solution I implemented使用嵌入式資源取得巨大成功。
我們的解決方案涉及遍佈可能的幾個數據庫實例的分佈式數據庫。我們實施了一個包含主數據庫的解決方案,該數據庫包含'shard'數據庫的所有設置信息。擁有'SqlUpdate'引擎,我們可以保持所有分佈式分片的最新狀態。
爲什麼不爲每個長腳本創建一個存儲過程? – brendan 2009-11-11 13:50:16
您是否想過將這些腳本轉換爲存儲過程? – Christian 2009-11-11 13:50:27
那麼是什麼問題,因爲你知道StreamReader? – Lucero 2009-11-11 13:52:10