【问题标题】:Generate SQL Scripts from SSDT project (VS2013 / TFS2012 [MSBuild]) for use in InstallShield 2013 Pro从 SSDT 项目 (VS2013 / TFS2012 [MSBuild]) 生成 SQL 脚本以用于 InstallShield 2013 Pro
【发布时间】:2015-03-30 22:51:22
【问题描述】:

我们使用带有 SQL Server Data Tools (SSDT) 的 Visual Studio 2013 来开发我们的数据库项目。 TFS构建数据库项目时,生成的“_Create.sql”文件需要SQLCMD模式,包含变量。 InstallShield 2013 似乎不支持 SQLCMD 模式(调查点 InstallShield 使用 ODBC 和/或 OLEDB 驱动程序执行 SQL 脚本)。

基本上,我需要我们的 TFS 构建过程来创建与 InstallShield 2013 Professional 兼容的“标准”SQL 脚本。有没有人有这方面的经验...如果有,请您提供一些指导吗?

谢谢。

【问题讨论】:

    标签: visual-studio-2013 msbuild installshield sql-server-data-tools


    【解决方案1】:

    您能否在 installshield 中创建一个步骤来调用 sqlcmd.exe 甚至更好的 sqlpackage.exe 并传入 dacpac?

    【讨论】:

    • 很遗憾,Management Studio 不会安装在运行 InstallShield 的机器上。在某些情况下,安装程序只会运行 SQL 脚本来在远程服务器上创建数据库。不过感谢您的建议。
    • 您可以分发 sqlpackage.exe,以便可以从 dacpac 部署(您可以将 sqlpackage 复制到临时目录) - 如果您不想要命令提示符,您可以使用 dacfx api 从 .net 代码发布 dacpac
    • 查看此页面 (social.msdn.microsoft.com/forums/sqlserver/en-US/…),由于依赖于其他程序集,它似乎不是一个简单的 xcopy 部署。您对 sqlpackage.exe 进行 xcopy 部署有什么经验;您是否必须复制该页面上提到的其他 DLL;在 MS 安装程序之外分发是否合法?
    • 是的,我分发了所需的 dll,并有一个简单的包装器来调用我自己的代码的部署形式。在内部,我将 sqlpackage.exe 及其所有依赖项包含在一个文件夹中(只需复制 sqlpackage.exe 所在的整个文件夹)-我不会在 msi 外部分发 sqlpackage,您应该让您的法律人员检查许可证你是否能够(我当然不会接受关于堆栈溢出的建议!)。这里有更多关于你需要哪些文件的信息anupkumarsharma.com/2013/10/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-13
    相关资源
    最近更新 更多