Impossible d'insérer une valeur explicite pour l'identité de la colonne dans le tableau lorsque IDENTITY_INSERT est réglé sur OFF

J'essaie d'insérer des enregistrements dans une table qui a une colonne d'identité. Pour diverses raisons, cela ne devrait pas être un droit d'insérer, mais il devrait avoir le même ID de la table étrangère.
Donc, je lance:

EXECUTE ('SET IDENTITY_INSERT RemoteDB.dbo.FrameContent ON')

INSERT INTO [RemoteDB].[dbo].[FrameContent] ([ID],[FrameID],[PacketType]) 
SELECT [ID],[FrameID],[PacketType]
FROM FrameContent 
WHERE [ID] NOT IN (SELECT [ID] FROM [RemoteDB].[dbo].[FrameContent])

Et j'obtiens l'erreur:

Cannot insert explicit value for identity column in table 'FrameContent' when IDENTITY_INSERT is set to OFF.

Des idées? Il se plaint de ce que IDENTITY_INSERT ne devrait pas être, mais je suis paramètre SUR on.

Pourquoi utilisez-vous execute pour exécuter le SET commande?
Désolé - copier et coller question. Je suis en train de compiler une chaîne de caractères avec des variables. Doit être DÉFINI pour cet exemple.

OriginalL'auteur Cameron Castillo | 2013-06-20