2013-03-12 97 views
0

我想使用SqlCeEngine類來構建數據庫並使用表(like this question)填充它,但使用由ExportSqlCE生成的腳本。SQL Server CE:使用腳本生成DB

我想知道這是否可能使用SqlBulkCopy? (已複製here的SQL Server CE版本)。

或者如果有另一種解決方案來快速填充具有表和約束的數據庫文件(28個表,52個約束,大多數列不能爲空)。

當我的應用程序加載時,我檢查數據庫文件是否存在。在這個文件丟失的情況下(或者程序在安裝後第一次加載的時候),我希望能夠重新生成一個空的數據庫。

我使用DataPort Console創建了數據庫,因爲作爲我的第一個真正的數據庫應用程序,我想以圖形方式設計數據庫。

+0

爲什麼不簡單地在您的應用程序中包含一個空的數據庫文件,並根據需要將其複製到所需的位置? – ErikEJ 2013-03-12 17:17:53

+0

如果數據庫文件丟失,我希望應用程序能夠自行維護。 – 2013-03-13 08:20:10

+0

是的,我的建議將允許你這樣做...... – ErikEJ 2013-03-13 09:10:37

回答

1

最終,我無法找到複製我所需功能的解決方案,而是根據ErikEJ的建議決定實施一系列腳本以便在加載時運行。 ExportSqlCE對於創建已定義的SQL Server CE database的腳本仍然有用。

我最終實現了一個List<string>,其中我添加了各種腳本。這使我可以選擇加載腳本,如果我想更新數據庫或爲數據庫的初始版本選擇硬編碼的「默認」腳本。然後,我可以遍歷List元素,將SqlCeCommand command.CommandText屬性更改爲列表中的下一個元素。