问题标签 [data-tier-applications]

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 投票
2 回答
1681 浏览

sql-server-data-tools - 数据层应用程序版本号存储在 Visual Studio 项目中的什么位置?

我有一个在 AssemblyInfo.cs 文件中填充版本号的实用程序。现在我需要实现一个功能来调整 Visual Studio 数据层应用程序 (DACPAC) 的版本号。

我发现如果我打开项目属性并单击数据层应用程序属性按钮,我可以手动调整数字。但是我找不到这个数字在项目文件中的存储位置,所以我不知道如何从我的实用程序自动更新它。

你知道吗,版本号存储在哪里?

0 投票
1 回答
515 浏览

visual-studio-2012 - VS 2012 Data Tier App 项目更新数据库最佳实践

在 VS2012 中,我创建了一个数据库项目,一个导入的数据层应用程序 .dacpac 我从我的 SQL Server 2012 实例创建。

我的问题是,如果我正在开发,我想做的只是修改 VS 2012 中的 sql 表结构,比如我向表中添加一个新列,这是将该更改转移到数据库以构建项目的唯一方法.dacpac 然后升级数据库,在我的例子中是通过 SQL Server Management Studio。如果我正在开发开发人员数据库,非生产,我只想要一个更新脚本,我看不到如何在数据层应用程序的 db 项目中获取它。

我只是在这两个地方手动进行更改,但最终我会被打断并忘记相应地进行更改。

你怎么做呢?

谢谢

0 投票
0 回答
280 浏览

inno-setup - 使用 inno setup 部署数据层应用程序

我需要帮助。有一个数据层应用程序 .dacpac 需要使用 inno setup 部署在另一个用户的计算机上。脚本在目标机器上创建 SQL Server 实例,然后必须部署数据层应用程序。我认为可以使用 sqlpackage.exe,但我必须在我的安装 exe 中包含所有依赖项 ddls。还有其他方法可以部署数据层应用程序吗?

0 投票
1 回答
580 浏览

sql-server - 无法在 Visual Studio 2012 中为 dacpac 添加数据库引用 - OutOfMemoryException

我有一个 12 MB 的 dacpac,在 VisualStudio 2012 中生成需要 45 分钟。它用于生产 Microsoft Dynamics GP(以前称为 Great Plains)客户数据库。我很惊讶我能够首先创建 dacpac,但它似乎在任何开发工具(Visual Studio 2012 或 SSMS 2012)中都没用。现在我看到即使 Windows Azure 也有 5 MB 的限制(DacPac 错误太大 - 但我的文件只有 406kb)。

即使在 SSMS 2012 IDE 中,我也会收到 OutOfMemoryException。

SSMS 2012

值得一提的是,.model 临时文件增长到 1.5 GB,而 Visual Studio 2012 创建了 dacpac。

有什么想法可以在 Visual Studio 中添加数据库引用或将 dacpac 导入 SQL Server(可能分阶段)?工具可以使用的内容是否只有硬性限制?

0 投票
1 回答
1984 浏览

database-project - 我可以将带有数据的 BACPAC 导入数据库项目吗?

我有一个数据库,其中包含我想将其转换为 Visual Studio 2012 SQL 数据库项目的数据。

我尝试使用“导入-> 数据层应用程序 (*.dacpac)...” - 我没有收到任何错误,但没有导入数据(并且没有包含数据的选项)。

如何在 BACPAC 导入中包含数据?

0 投票
1 回答
233 浏览

visual-studio - Microsoft SSDT (10.3.21208.0)/数据层项目 (MSVS 2010) 和项目与引用数据库项目之间的“共享”/复制证书

我正在编写 SQL Server(针对 2008R2 和 2012)存储过程和公共/参考表的“框架”。每个 SSDT/日期层项目代表此框架内的不同组件(可以在同一数据库中)(例如,MasterDBExtensions 项目在主数据库、SQLServerAgentExtensions (msdb) 等中具有存储过程扩展/附加组件)。

我在很大程度上基于 Schema、数据库角色和证书开发了一个非常严格的安全模型。

我的问题是如何在活动项目和引用的项目之间“共享”/复制这些证书,以便当我将活动项目发布到 SQL Server 时,证书被正确复制等(顺便说一句,我需要共享/复制证书用于跨数据库对象访问,这样我就不需要打开 Trustworthy 标志、Service Broker 以及链接服务器访问)。

只是为了澄清,我有一些 TSQL 代码代表我的意思:

SSDT/数据层不允许我放置 Backup and Create/From 语句(我得到“此语句在此上下文中无法识别”)。如果我将备份证书移动到前/后脚本,我会遇到文件权限问题和其他问题(例如,未找到证书)。此外,如果我将该项目用作其他项目中的数据库引用,则 Pre/Post 脚本不会运行。

所以......我做错了什么或者有人对这些问题有任何建议吗?

谢谢!

环境:SQL Server 2012(我也针对 SQL Server 2008R2)、MSVS 2010、SqlServer Data Tools 2012 年 12 月、SQL Sever 数据层应用程序框架 2013 年 5 月、C# 4.0

0 投票
2 回答
1381 浏览

sql - 通过 SqlPackage.exe 更新数据层应用程序版本

我目前正在使用 SqlPackage.exe通过命令行自动部署我的应用程序数据库,但无法找到更新我的数据层应用程序版本的方法

(发展,当然……)

http://msdn.microsoft.com/en-us/library/hh550080%28v=vs.103%29.aspx

我正在使用 /Action:Publish 来推送我新建的 *.dacpac,但版本始终保持在 v1.0.0.0,如果这是不可能的?如何更改 ExtendedProperty?

我只想通过查看数据库来参考安装的版本。

有任何想法吗?

0 投票
1 回答
1361 浏览

powershell - 使用 DACFx 3.0 API 升级 DACPAC - 如何检查现有数据库的当前 DAC 版本?

我目前正在重写我团队的数据库部署 Powershell 脚本以使用 DACFx 3.0 API 而不是 2.0。Microsoft.SqlServer.Dac.DacServices使用新的控制器类,我已经设法使 DACPAC 升级成功运行。

剩下的唯一问题是:如何从现有数据库中获取当前的 DACPAC 版本号?

作为我们部署脚本的一部分,我们将其与我们要升级到的 DACPAC 版本进行比较,以确定是否需要部署。这也用于决定是否运行与数据库相关的测试,因此我们可以减少大量构建时间。

旧的 DacFx2.0 API 位于Microsoft.SqlServer.Management.Dac命名空间中,因此在旧的 Powershell 脚本中,我们只是创建了一个DacStore从数据库连接中创建了一个对象并从中获取 Version 属性:

我们的旧 POWERSHELL 脚本

现在在 3.0 中的问题是,API 存在于Microsoft.SqlServer.Dac命名空间中,并且“不再使用以前版本中的DacStoreDacExtractionUnit类,大多数内容都已重构为全新的DacServices控制器类。(src)”

我还没有DacStoreDacServices课堂上找到等效的,所以到目前为止我不知道如何检索当前的 DAC 版本。我试过搜索 MSDN 文档,但他们所有的 Powershell 部分仍然引用旧的 DACFx2.0 API。(例如:这里)。

如果有人可以帮助我,将不胜感激。谢谢!

0 投票
1 回答
149 浏览

database - n 层架构中的数据层

我有一个关于数据完整性的问题。

“数据层”的一个重要作用是保证数据的完整性,如果没有“业务层”的帮助,这是否可以实现?

谢谢。

0 投票
1 回答
311 浏览

sql-server - 数据层应用程序可以与手动管理的数据库共存吗?

我们有一个使用自定义版本控制的大型生产数据库,允许在架构更改时进行无缝升​​级(每个更改脚本都有版本)。一切正常。

我们可以在现有数据库中并行使用数据层应用程序编程模型吗?我们想尝试 DAC 方法,而无需将我们的数据库转换为 Data-Tier 应用程序。在模式级别将数据层应用程序与数据库的其余部分隔离是理想的。假设我们有三个模式,dbomydac。我们希望继续手动管理dbomy并使用 dacpacs 自动迁移dac模式中的所有内容。

我们已经尝试了一些测试,似乎数据层应用程序框架不喜欢竞争——它将超出其范围的对象检测为“手动更改”,并尝试在导入时删除它们。有没有办法改变这种行为?