2012-01-18 59 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

相关问题