2010-07-30 3 views
0

코드 다음, 나는 IDENTITY_INSERT 명시 적으로 어떤 값을 삽입 할 수 있도록 설정 한 :IDENTITY_INSERT가 켜져 있지만 오류가 있습니다, 아직와

신원 삽입은 기본 키 및하지로 설정되어
SET IDENTITY_INSERT dbo.myTable ON 
Go 

널 (null)

내가 값을 삽입 할 때 내 C# 프로그램에서

,이 오류가 생성됩니다

IDENTITY_INSERT is turned off

하지만 난 O를 돌았 다 n

무엇이 문제이며 어떻게 해결할 수 있습니까?

는, 예를 들어, 현재 SQL 세션에서 작동 설정을 당신에게 IDENTITY_INSERT

+0

C# 프로그램에서이 기능을 켜시겠습니까? 저는 그것이 글로벌 설정이라고 생각하지 않습니다. 그것은 세션 당입니다. C# 코드 내에서 코드를 켜고 삽입 한 다음 다시 시작해야합니다. – PatrickSteele

+0

C#에서 set identity_insert를 사용하고 있다는 점에 많은 걱정이 듭니다. 이것은 사용자 인터페이스에서 일상적으로 수행해야하는 작업이 아닙니다. 이것은 매우 위험한 일입니다. 잘못하면 데이터 무결성에 대한 위협이되며 이러한 작업은 애플리케이션이 아닌 경험 dbas에서만 사용해야합니다. 일반적으로 이것은 레거시 데이터를 삽입 할 때만 수행됩니다. 규칙을 사용하도록 디자인을 계획하는 경우 더 나은 솔루션이 없는지 검토해야합니다. – HLGEM

답변

2

감사합니다 SQL Server Management Studio의 특정 테이블에서이 테이블을 켤 수 없으며 C# 코드를 실행하여 작동 할 것으로 기대합니다.

당신이해야 할 일은 SET IDENTITY_INSERT dbo.myTable ON 문을 C# 응용 프로그램에 포함시키는 것입니다. 먼저 명령에서 설정을 ON으로 설정 한 다음 C# 응용 프로그램에서 수행해야 할 작업을 수행하고 결국 다시 C# 코드에서 해당 설정을 해제하십시오.

관련 문제