问题标签 [dbproj]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
634 浏览

tfs - 在我的 dbproj 中,在文件上设置 «Copy always» 或 «Copy if newer» 会使构建服务器上的构建失败

在 VisualStudio 2010 中,我们有一个 dbproj (B) 引用另一个 dbproj (A) 的场景。

在 dbproj (A) 中,如果我将 Scripts 文件夹中的自定义 sql 脚本之一的构建操作设置为“始终复制”或“如果较新则复制”,构建 dbproj (B) 时构建失败(仅在构建服务器上)。它试图复制(A)中的文件,就像它在(B)中一样。

在构建dbproj(A)时,输出如下,没问题:

然后在构建 dbproj (B) 时,服务器输出以下错误:

该文件D:\Builds\5\17\Sources\Src\DataBase\OpenQueryTool\Scripts\FortressMainUpdate.sql 是 dbproj (A) 中的文件,并且从未存在于\DataBase\OpenQueryTool\Scripts\.

这只发生在构建服务器上。在本地构建时,一切都很好。

我们的目标是在构建整个解决方案后,将这些文件与 dbproj 生成的 sql 文件一起放在 tfs 放置位置。

0 投票
4 回答
406 浏览

sql-server - VS1010 数据库项目和参考数据脚本

只是想知道处理以下问题的最佳方法....

我想要一个 VS2010 数据库项目,以使我的数据库架构在开发、集成测试和生产环境中保持同步。

作为测试和生产环境的一部分,我有很多参考数据需要加载到数据库中。

对于开发和测试,我可以重新创建数据库并使用部署后脚本来加载数据。但是,我不能真正为生产环境执行此操作,因为显然它上面会有实时数据。

那么最好的解决方案是什么?我不认为我可以使用部署后脚本来加载数据库,因为在插入语句的情况下,我需要将每个语句包装在 IF NOT EXISTS... 子句中,并且有 1000 行。

也许最好使用 VS2010 + MSBuild 工具来保持架构是最新的,然后有一个单独的解决方案来管理数据?

或者有没有一个纯粹使用VS2010 + MSBuild中的工具的解决方案?

0 投票
1 回答
667 浏览

visual-studio-2010 - 2008 数据库项目中的触发器脚本出现错误 SQL03120

我正在努力在 VS2010 中添加一个数据库项目。我创建了一个 SQL 2008 DB 项目,指向开发服务器,它似乎已经生成了所有适当的模式对象。但是,所有 CREATE TRIGGER 脚本都有以下错误:

谷歌搜索该错误消息不会返回太多,并且似乎指向使用 ALTER 而不是 CREATE 的脚本,这不是这里的情况。这是其中一个脚本的示例:

Visual Studio 将错误归因于的行是执行系统过程的最后一行。对我来说最突出的是 dbo 模式中不存在任何对象。该表位于 Content 模式中,并且在 History 模式中具有匹配的表。不过,似乎 [Content] 和 [History] ​​限定词是可以解析的。想不出来这个...

0 投票
1 回答
76 浏览

visual-studio-2010 - 按 F5 时默认停止 DB Project Launching。

使用:MVC3、Vs2010 和 DbProject

在解决方案中,我有一个 MVC3 项目和一个 DB 项目。每当我按 f5 启动 MVC 项目时,DBproject 都会先启动。我不想要这种行为。我只想启动 MVC 项目而不是两个项目。

MVC 项目设置为启动项目。

有任何想法吗?

0 投票
1 回答
335 浏览

msdeploy - msdeploy Visual Studio 2010 数据库项目 (dbproj)

我知道您可以从 Visual Studio 打包/部署数据库项目,但是,数据库项目是否产生可以使用 msdeploy 部署的输出,或者它们完全不相关?例如 msdeploy.exe -deploy mydatabaseproject

或者,也许 dbproj 只输出可以包含在“包/发布 SQL”选项卡中的脚本,这些脚本将包含在 Web 部署包中,随后作为 Web 部署的一部分执行?

0 投票
1 回答
1815 浏览

msbuild - 无法从程序集“Microsoft.Data.Schema.Tasks.Sql”加载错误“SQLBuildTask”任务

我正在尝试使用 msbuild.exe 构建一个 db 项目,该项目在具有 Windows Server 2008 R2 Enterprise 的 64 位操作系统的 VM 上运行。我的大多数应用程序都成功构建,这个数据库项目给我带来了问题。.NET Framework 2 和 4 已安装。

error MSB4062: The "SqlBuildTask" task could not be loaded from the assembly Microsoft.Data.Schema.Tasks.Sql, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a. Could not load file or assembly 'Microsoft.Data.Schema.Tasks.Sql, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified. Confirm that the <UsingTask> declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask.

我已经在这个站点上查看了一个可能的解决方案:Getting MSBuild and CruiseControl .NET to build and deploy VS2010 database projects

但是我确实在我的构建机器上安装了 VS2010,但我仍然收到此错误

我已经做过的事情:

  • 检查带有DB项目的解决方案在VS2010中是否成功构建
  • 使用 msbuild MyDBtest.dbproj 运行 msbuild 命令 - 这给了我同样的错误。

为了让它发挥作用,我还能缺少什么?

0 投票
0 回答
249 浏览

visual-studio-2010 - 数据库测试配置 AllowConfigurationOverride 数据库名称

如何让不同的构建代理针对他们自己的特定实例或数据库名称运行单元测试?.dbunittest.config 文件中是否有任何属性覆盖或变量可用?

我有一个 TFS 2010 构建服务器,默认 4 个构建代理管理一个持续集成解决方案,该解决方案构建一个数据库项目,将其部署在构建服务器上,并使用测试的 app.config 从单独的数据库单元测试项目运行数据库单元测试带有覆盖子句的项目。

LoginName.dbunittest.config 提供对用于测试数据库的连接字符串的控制。似乎构建代理都使用相同的连接字符串,这意味着并行构建是针对同一个数据库进行测试的。


0 投票
1 回答
285 浏览

sql - 删除 VS DB 部署脚本对服务器名称的依赖

当我将 dbproj 部署到 SQL 脚本并尝试在另一台计算机上运行它时,出现错误:

构建脚本 SOMENAME 中的服务器名称与目标服务器 ANOTHERNAME 的名称不匹配。验证您的数据库项目设置是否正确以及您的构建脚本是否是最新的。

脚本中生成了这样的行:

有什么方法可以让 SQL 部署脚本在任何服务器上运行?

0 投票
0 回答
783 浏览

asp.net-mvc-3 - AppHarbor 一步构建以及如何部署我的数据库

我终于达到了我的解决方案完成构建步骤所需的一切的地步:

  • 下载NuGet软件包。
  • 部署数据库(仅当它不存在时)。
  • 构建解决方案。
  • 运行任何升级脚本(只需一次,数据库会跟踪这些脚本)。
  • 运行单元测试。
  • 成功。

这在当地创造了各种奇迹。

现在我想我应该将我的GitHub存储库与AppHarbor集成,因为 CI 对我来说是下一个合乎逻辑的步骤。

问题是,数据库正在分两步构建:

  • Adbproj被构建,生成一个.dbschema
  • 我的数据库升级程序(展示了它所有的DbUp 功能)构建了一个BeforeBuild目标,该目标构建和部署dbproj. 以及一个AfterBuild自行执行数据库升级程序的目标,使用尚未运行的任何 SQL 脚本更新架构。

问题是项目中的AppHarbor构建服务器失败.dbproj,因为SqlTasks.target其服务器配置中缺少必需项。

我尝试快速修复手动添加该目标(以及它所依赖的其他一些目标),但这产生了一个我无法通过的错误:

无法从程序集 Microsoft.Data.Schema.Tasks.Sql [...] 加载“SqlBuildTask”任务

稍微挖掘一下,我发现显然.dbproj你不能在既VS没有也没有TFS安装的环境上构建项目。

我应该如何进行?我可能有几个选择:

  • 手动连接到 AppHarbor 数据库并针对新的生产数据库运行在我的开发环境中生成的部署脚本。
    这种破坏一步到位的目的。

  • 无需使用.dbproj数据库项目,只需在DbUp “升级程序”中包含所有基本安装表。 这有两个问题,尽管它们可能可以解决。第一个是我应该自己创建数据库,第二个是log4net我用来记录数据库升级过程的表将由进程本身创建,这在我的书中是各种各样的错误。

  • 使用一些自定义数据库项目解决方案,我可以在没有此问题的情况下部署数据库。
    我真的不知道这样的解决方案,是否存在,它们可靠吗?

欢迎发表意见、部署文章或任何建议,在 AppHarbor 上构建 .dbproj 的快速破解也足够了。

最后,要求AppHarbor包含TFS和/或VS在他们的构建服务器中是否太过牵强,构建.dbproj项目对于构建服务器来说听起来相当合理,对吧?

0 投票
1 回答
137 浏览

msbuild - DBProj 中的自定义 MSBuild 任务

我为我们的数据库项目创建了一个自定义 MSBuild 任务。此任务使用 XLSX 文件生成参考数据插入脚本,这些脚本会合并到部署后脚本中。

我用测试 MSBuild proj 对此进行了测试,它运行良好。

现在,当我将它集成到真正的 DBProj 文件中时,任务的输出是重复的,我看不到 MSBuild 输出日志记录。

所以,我的问题是:

1) 如何在 Visual Studio 中查看完整的 MSBuild 日志?2)我不确定 AfterBuild 或 BeforeBuild 是否运行了两次,但也许?

谢谢