Visual Studio Database Edition:导致“ModelException:至少需要一个标识符。”的原因是什么?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Visual Studio Database Edition:导致“ModelException:至少需要一个标识符。”的原因是什么?相关的知识,希望对你有一定的参考价值。

我们在Visual Studio 2008中有一个一直运行良好的数据库项目。然而,出乎意料的是,部署停止了工作。这是我们得到的错误:

EZTrac.Database.dbschema:部署错误TSD01234:Microsoft.Data.Schema.SchemaModel.ModelException:至少需要一个标识符。

我们在各处试图调试这个问题。抛出到输出窗口的例外过于通用,无法实际解密任何内容。我知道当模型出现问题时会抛出'ModelException',但我不知道从哪里开始查找。

有谁知道是什么原因引起的?

alt text

编辑:

我们现在有关于此的MSDN Premier支持。已经过了大约4天,他们还没弄清楚。如果我得到一个解决方案,我会用解决方案更新。

答案

经过Microsoft Premiere支持的大量来回故障排除后,我们被告知我们在Visual Studio的数据库版本中发现了一个错误。我们在解决之前放弃了,最后在我们的解决方案中使用数据库项目的一部分进行报废。

Microsoft的官方解决方法是使用一个帐户部署数据库项目,该帐户能够查看授予部署帐户VIEW DEFINITION权限的帐户。

另一答案

您是否尝试从当前最新的数据库重新生成数据库项目?我们没有遇到这个问题,但是如果项目只包含部署到数据库本身的对象,那么您应该能够从数据库的另一个方向重新创建它。

我知道这不太理想,但我不确定什么可能会导致同步或从您的项目中消失,从而导致此错误。

另一答案

你的SQL服务在运行吗?这看起来像我的服务死亡时得到的错误。

另一答案

部署数据库项目时,它会生成一个SQL脚本文件(此文件的名称在输出窗口中给出)。

如果您打开该文件,您实际上应该能够注释掉代码块,直到找出出错的地方为止。

我发现困难的一件事是,Post-Deployment.SQL文件在SQLCMD模式下运行,并且它不会在您使用语法调用的每个文件的末尾附加一个空行 -

:r 'Filename.sql'

所以你必须在所有的.SQL文件中添加空行 - 我甚至将其创建为创建表,索引,约束等的空白行。

以上是关于Visual Studio Database Edition:导致“ModelException:至少需要一个标识符。”的原因是什么?的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 2019 安装项目 - 包括 Access Database Engine Redistributable 2016/2010

在 Visual Studio .net 中连接到 Advantage Database .add

具有变量替换的 Visual Studio 2012 数据库部署

Visual Studio Database Edition:导致“ModelException:至少需要一个标识符。”的原因是什么?

是否无法在运行或编译时更改 SSDL 内容(Visual Studio 2015 EntityFramework Database First With Oracle)

Advantage Database Server v11.1.30 .Net Data Provider 是不是与 Visual Studio 2019 兼容?