【发布时间】:2015-11-10 15:38:21
【问题描述】:
将 Visual Studio 2012 (VS2012) 与 SQL Server Data Tools (SSDT) 一起使用 在将数据库项目附加到 StarTeam 2009 R2 后,我收到此错误(我之前在没有源代码控制的情况下使用此项目)。 VS2012 的 StarTeam 2009 R2 集成客户端已安装数周,但自从将解决方案放在源代码管理服务器上后,Visual Studio 的性能已严重降低(等待 20-40 秒以弹出上下文菜单),现在出现此错误对我来说毫无意义。
SQL71518: The identity column '[Domain\Login].[temp#].[Id]' must be of data type int,
bigint, smallint, tinyint, decimal, or numeric with a scale of 0, and the column must
not be nullable.
据我所知,这段代码在语法上没有任何问题 - 尽管我可能同意许多其他问题...
CREATE TABLE [Domain\Login].[temp#]
(
[Code] VARCHAR (20) NOT NULL,
[Description] VARCHAR (255) NOT NULL,
[Id] INT IDENTITY(1, 1) NOT NULL
)
知道为什么[Id] 列被标记为错误 SQL71518?该列的数据类型为int,且不可为空,符合报错信息中的要求。
此代码是从停止支持其产品的外部供应商那里继承而来的。由于该产品对我的公司很重要,因此他们安排获取源代码,以便我们自己支持。我对这个特定项目相对较新,整个团队都知道它有严重的缺陷;但是我们还没有收到升级代码和修复所有设计问题所需的预算 - 只是执行一些“小”修改,这应该与上述错误无关。因此,我会忽略此错误,但它会干扰 VS2012 数据库架构比较实用程序。
编辑 1
VS 2012 的 SSDT 已经在 11.1.50730.0
SQL Server Data Tools 11.1.50730.0
Microsoft SQL Server Data Tools
【问题讨论】:
-
我刚刚在测试系统上创建了该架构,您提供的用于创建表的代码可以正常工作。
-
同意发布的代码不会产生发布的错误。该错误必须是由问题中未提及的其他原因引起的。或者错误在于 StarTeam,不管是什么。听起来像是第三方客户端,在这种情况下,这不是编程问题。
-
@MitchWheat - 模式名称被混淆以隐藏有罪者的身份。但原件就是这种格式。
-
@SeanLange - 我同意你的评估。就个人而言,我认为该表是由使用应用程序的资源帐户登录的人错误地创建的,并且只是与其余代码一起携带......不幸的是,我需要很长时间来验证这个猜测并获得批准放弃它。 :(
-
@Zarepheth 是的,SourceSafe 更糟糕!光是提到它就让我不寒而栗。
标签: sql-server visual-studio-2012 sql-server-data-tools