2012-01-18 11 views
1

我們使用Visual Studio數據庫項目來管理我們的數據庫模式。我們希望將數據庫部署的.sql輸出作爲我們在InstallShield中創建的產品安裝程序的一部分。如何在Windows安裝程序中使用Visual Studio sql部署腳本

但是,當我們將sql腳本添加到InstallShield項目並運行安裝程序時,安裝程​​序無法運行腳本。我們得到一個OLEDB錯誤,抱怨:setvar(s),雖然我可以手動編輯sql腳本並修復它,但這不是一個真正的長期解決方案。

+1

':setvar'不是一件OLE DB理解。這些是'sqlcmd'的說明。 – 2012-01-19 03:23:52

回答

-2

垃圾進垃圾。 InstallShield只是讀取腳本並針對OLEDB連接執行它。你可以告訴它錯誤中止,錯誤轉到下一個語句或錯誤轉到下一個腳本。除此之外,它就是這樣。如果你的SQL有問題,他們需要修復。

InstallShield可以執行搜索並替換SQL上的處理。沒有你的SQL樣本很難說,到底該怎麼做,但看一看:

Using InstallScript Text Substitution to Dynamically Replace Strings in SQL Scripts

+0

我對這個正確的答案有如此負面的反應很有趣。這就像多年來我所知道的所有DBA一樣,在實際上他們的SQL很脆弱時試圖指責安裝程序。現實情況是InstallShield正在使用無法連接的OLEDB連接,無論您生成哪種SQL都必須在該上下文中工作。 – 2012-01-19 12:06:02

+0

關於此主題的舊文章:http://blog.deploymentengineering.com/2008/10/rfc-sql-scripts-are-almost-declared.html – 2012-01-19 12:07:04

相關問題