Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 错误SQL72014:将varchar值转换为int数据类型时转换失败_Sql Server_Sql Server 2012 - Fatal编程技术网

Sql server 错误SQL72014:将varchar值转换为int数据类型时转换失败

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

我在将测试数据插入表时遇到问题。我在标题中列出了错误。我用谷歌搜索了很多次,但都没有找到解决办法

在Visual Studio 2012解决方案中,我有几个项目,其中一个是数据库项目。我正在定义几个表。问题是:

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语句,它就可以正常工作。但这必须是部署的一部分;我不能手动插入它。其他表填充得很好。只是这个有问题。