2013-12-18 1 views
1

테스트 데이터를 테이블에 삽입하는 데 문제가 있습니다. 제목에 오류가 표시됩니다. 나는 해결책을 찾지 않고 많은 검색을 해왔다.오류 SQL72014 : varchar 값을 데이터 유형 int로 변환 할 때 변환하지 못했습니다.

Visual Studio 2012 솔루션에는 여러 프로젝트가 있는데, 그 중 하나는 데이터베이스 프로젝트입니다. 몇 가지 테이블을 정의하고 있습니다. 문제의 하나는 다음과 같습니다

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) 

을 I가 데이터를 밀어하려고 :

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 파일을 사용하여 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. 

는 그래서 이름 컬럼에 '냉각수 빠른 연결 해제'를 삽입에 문제가 있습니다를 . 이름 열은 분명히 varchar 열이지만 어떻게 든 int 열이라고 생각합니다.

아이디어가 있으십니까?

편집 : SQL Server 2012를 사용하고 있습니다.이 테이블에는 트리거가 없습니다.

+3

SQL Server의 버전은 무엇입니까?, 해당 테이블에 트리거가 있습니까? – Lamak

+0

위의 주석을 참조하십시오. 트리거가 없습니다. – sshirley

+0

글쎄, 어디서 오류가 표시되지 않습니다, 그것은 나를 위해 작동합니다 [sqlfiddle] (http://sqlfiddle.com/#!6/e694b) (만약 내가 참조 걸릴) – Lamak

답변

1

문제는 열의 데이터 유형이 원래 int 여야하고 열 데이터 유형을 varchar로 변경하고 이전 스키마를 캐싱하는 데이터베이스 프로젝트에 문제가 있기 때문입니다. 두 번 배포하면 데이터베이스 프로젝트의 스키마가 새로 고쳐지고 새 데이터 유형이 검색됩니다.

관련 문제