我在将测试数据插入表格时遇到问题。我收到标题中列出的错误。我没有找到解决方案,我做了很多谷歌搜索。
在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.
因此,在“名称”列中插入“Coolant Quick Disconnect”会出现问题。 Name列是CLEARLY一个varchar列但不知何故它认为它是一个int列。
有什么想法吗?
编辑:我正在使用SQL Server 2012.此表上没有触发器。
答案 0 :(得分:1)
问题是由于列的数据类型最初是一个int,然后将columns数据类型更改为varchar,并且数据库项目的问题是缓存先前的模式。部署两次将刷新数据库项目的模式以检测新的数据类型。