小编Mat*_*att的帖子

数据库项目 - "无法解析对名为x的源中的外部元素的引用

我们有两个数据库项目,xx_audit.x有参考x_audit.

x_audit部署很好,但在尝试部署时x我们得到错误:

The reference to external elements from the source named x_audit.dbschema could not be resolved, because no such source is loaded.

相同的文件可以很好地部署到2005数据库,我们只在部署到2008时遇到此错误.如果它有任何区别,这是升级现有数据库而不是创建新数据库.它曾经在2005年和2008年都运作良好,不知道发生了什么变化.

谢谢

database-project visual-studio-2010 vsdbcmd

16
推荐指数
2
解决办法
1万
查看次数

引用程序集中的WCF重用类型不会重用ServiceContract接口

我有四个独立的项目:

  • MyUserControl - 需要对服务实现的引用IMyService

  • MyService - 实现IMyService

  • MySharedInterfaces - 包含IMyUserControlIMyService

  • MyWebApp

用户控件需要在运行时动态加载.这实现IMyUserControl并具有IMyService将在运行时设置的类型属性.

麻烦就是重用类型的选项,MyWebApp没有重用IMyService接口.它总是从服务参考中再次生成它.如果我可以将它投射到MySharedInterfaces.IMyService我无法理解的情况下这不是问题,因为它应该完全相同.

用户控件期待某种类型IMyService.无论如何要么强制WebServiceReference.IMyService转回MySharedInterface.IMyService或强制WebServiceReference重用MySharedInterface.IMyService

wcf interface

12
推荐指数
1
解决办法
6806
查看次数

使用SqlPackage.exe发布DACPAC时防止用户丢失

有没有办法阻止用户在使用SqlPackage.exe发布DACPAC时被删除,除了更改下面的设置,这可以防止所有对象在DACPAC中不被删除.

<DropObjectsNotInSource>True</DropObjectsNotInSource>
Run Code Online (Sandbox Code Playgroud)

我们部署到许多环境,每个环境都有不同的用户.目前的解决方法是:

  1. 为每个环境编写脚本,以便在部署后重新创建它们
  2. 使用/Action:Script并手动更改部署脚本.

虽然这些都不是理想的......

sql-server-data-tools

12
推荐指数
2
解决办法
1万
查看次数

可能会发生vsdbcmd数据丢失,但在哪里?

使用vsdbcmd部署我的数据库时:

vsdbcmd.exe /a:Deploy /manifest:MyDatabase.deploymanifest
Run Code Online (Sandbox Code Playgroud)

我得到:

SQL01268 .Net SqlClient Data Provider: Msg 50000, Level 16, State 127, Line 6 Rows were detected. The schema update is terminating because data loss might occur. SQL01268 An error occurred while the batch was being executed.

这是很好的,但它并没有告诉我那里的dataloss会发生.为了找出我必须使用的<DeployToScript>True</DeployToScript>,然后加载脚本以查看:

IF EXISTS (select top 1 1 from [dbo].[MyTable]) RAISERROR ('Rows were detected. The schema update is terminating because data loss might occur.', 16, 127) WITH NOWAIT

有没有办法让vsdbcmd在直接部署到DB而不必先生成sql时显示此信息?

谢谢

database-project datadude vsdbcmd

6
推荐指数
1
解决办法
1346
查看次数

为数据库创建同义词/更改数据库视图指向

我知道数据库不受支持CREATE SYNONYM,但我希望实现这将提供的功能.

我们有数据库A,其中包含数据库B上表的视图.问题是"数据库B"并不总是称为"数据库B".我们使用数据库项目进行部署,如果没有"数据库B",目前会出现"无效对象名称"错误.

目前的解决方法是打开.dbschema文件并执行查找和替换.我想另一个选择是创建一个表同义词的加载.

在不更改每个视图的情况下更改数据库的最佳方法是什么?

谢谢

sql sql-server view synonym

5
推荐指数
1
解决办法
6006
查看次数

使用 Transaction Scope 时重置隔离级别

我们将隔离级别设置为“未提交读”,如下所示。

    TransactionOptions to = new TransactionOptions();
    to.IsolationLevel = System.Transactions.IsolationLevel.ReadUncommitted;
    using (TransactionScope transaction = new TransactionScope(TransactionScopeOption.RequiresNew, to))
    {
       // Do Stuff
       transaction.Complete();
    }
Run Code Online (Sandbox Code Playgroud)

问题是,一旦连接返回到池中,它就不会重置回默认隔离级别,我理解这是设计使然(当您重用连接池中的连接时,事务隔离级别不会重置))。因此,当事务完成时,任何重用池中连接的操作都将以读取未提交隔离级别运行。

我尝试"SET TRANSACTION ISOLATION LEVEL READ COMMITTED"使用 SqlCommand 进行调用,但无法保证它将重用池中的相同连接。没有任何内容// Do Stuff暴露底层连接。

无论如何,是否可以重置隔离级别,而无需在对数据库的所有调用上显式设置隔离级别,以防万一此代码之前已运行过?

c# transactions transactionscope

3
推荐指数
1
解决办法
1156
查看次数