Sql server 错误SQL72014:将varchar值转换为int数据类型时转换失败
我在将测试数据插入表时遇到问题。我在标题中列出了错误。我用谷歌搜索了很多次,但都没有找到解决办法 在Visual Studio 2012解决方案中,我有几个项目,其中一个是数据库项目。我正在定义几个表。问题是:Sql server 错误SQL72014:将varchar值转换为int数据类型时转换失败,sql-server,sql-server-2012,Sql Server,Sql Server 2012,我在将测试数据插入表时遇到问题。我在标题中列出了错误。我用谷歌搜索了很多次,但都没有找到解决办法 在Visual Studio 2012解决方案中,我有几个项目,其中一个是数据库项目。我正在定义几个表。问题是: CREATE TABLE [dbo].[tblKppHierarchyPcl] ( [ID] NUMERIC(18,0) NOT NULL, [Name] VARCHAR(500), [PartStructureKey] NUMERIC(18,0) NOT NUL
CREATE TABLE [dbo].[tblKppHierarchyPcl]
(
[ID] NUMERIC(18,0) NOT NULL,
[Name] VARCHAR(500),
[PartStructureKey] NUMERIC(18,0) NOT NULL,
[PartNumber] VARCHAR(500) NOT NULL,
[ParentPartNumber] VARCHAR(500) NULL,
[TargetCost] DECIMAL(30,4) NULL,
[UnitCost] DECIMAL(30,4) NULL,
[CostMaturityID] INT NULL,
[Ratio] DECIMAL(16,2) NULL,
[Contribution] DECIMAL(16,2) NULL,
[ChildPartTargetWeight] NUMERIC(18,2) NULL,
[ChildPartWeight] NUMERIC(18,2) NULL,
CONSTRAINT [FK_tblKppHierarchyPcl_tblCostMaturity] FOREIGN KEY (CostMaturityID)
REFERENCES tblCostMaturity([CostMaturityID])
)
使用Script.PostDeployment1.sql文件,我试图用测试数据填充该表,如下所示:
INSERT INTO [dbo].[tblKppHierarchyPcl]
([ID]
,[Name]
,[PartStructureKey]
,[PartNumber]
,[ParentPartNumber]
,[TargetCost]
,[UnitCost]
,[CostMaturityID]
,[Ratio]
,[Contribution]
,[ChildPartTargetWeight]
,[ChildPartWeight]) VALUES
(61090,'Coolant Quick Disconnect',125216,'FS-252-6FO','H432677DB-1',27.03,70.61,2,2.61,0.01,0,NULL)
我试图通过SqlPublish将数据推送到数据库
我的问题是:部署后脚本尝试插入数据时,出现以下错误:
Error SQL72014: .Net SqlClient Data Provider: Msg 245, Level 16, State 1, Line 76 Conversion
failed when converting the varchar value 'Coolant Quick Disconnect' to data type int.
因此,在名称列中插入“冷却液快速断开”时存在问题。Name列显然是一个varchar列,但不知何故它认为它是一个int列
有什么想法吗
编辑:我正在使用SQL Server 2012。此表上没有触发器 问题是由于列的数据类型最初是int,然后将列的数据类型更改为varchar,以及数据库项目缓存以前的架构的问题。部署两次将刷新数据库项目的架构以检测新的数据类型。SQL Server的哪个版本?该表上是否有触发器?请参阅上面的注释。没有触发器。好吧,我不知道错误在哪里,它对我有效(如果我去掉引用),这是奇怪的事情。如果我在SSMS中执行insert语句,它就可以正常工作。但这必须是部署的一部分;我不能手动插入它。其他表填充得很好。只是这个有问题。