web-dev-qa-db-fra.com

Erreur 0xc0202049: Tâche de flux de données 1: échec d'insertion dans la colonne en lecture seule

J'utilise l'assistant d'importation et d'exportation de SQL Server 2008. J'ai besoin d'importer une base de données. J'ai ouvert l'assistant d'importation/exportation du serveur SQL et j'ai effectué les opérations suivantes: -

  1. pour la destination, j'ai choisi "client natif du serveur SQL 10".

  2. j'ai ensuite sélectionné les données de copie d'une ou de plusieurs tables ou vues.

  3. SSIS exécuté immédiatement

mais j'ai eu les erreurs suivantes,

L'opération s'est arrêtée ...

  • Initialisation de la tâche de flux de données (réussite)

  • Initialisation des connexions (succès)

  • Définition de la commande SQL (réussite)

  • Définition de la connexion source (succès)

  • Définition de la connexion de destination (réussite)

  • Validation (erreur)

Messages Erreur 0xc0202049: Tâche de flux de données 1: échec d'insertion dans la colonne en lecture seule "ActionID". (Assistant d'importation et d'exportation SQL Server)

Erreur 0xc0202045: Tâche de flux de données 1: la validation des métadonnées de colonne a échoué. (Assistant d'importation et d'exportation SQL Server)

Erreur 0xc004706b: Tâche 1 du flux de données: le "composant" Destination - AuditActions "(22)" a échoué lors de la validation et a renvoyé l'état de validation "VS_ISBROKEN". (Assistant d'importation et d'exportation SQL Server)

Il semble que je ne puisse pas importer des colonnes d'identité et des colonnes d'horodatage. Comment puis-je forcer l'importation de ces valeurs?

73
john Gu

Avant d'importer la date, exécutez la requête ci-dessous pour définir une insertion d'identité:

SET IDENTITY_INSERT TableName ON

Puis effectuez les opérations d'importation.

Après l’importation de la date, exécutez la requête ci-dessous pour désactiver l’insertion d’identité:

SET IDENTITY_INSERT TableName OFF
24
Kishore

En tout respect pour la réponse de Kishore, cette approche est valable si vous modifiez les packages. Puisque vous utilisez l'assistant d'importation/exportation, la solution la plus simple consiste à cocher la case Enable Identity Insert Dans l'onglet Mappages de colonnes.

Dans l'assistant d'importation et d'exportation, après avoir sélectionné le tableau à copier, cliquez sur le bouton Edit Mappings...

enter image description here

Dans l'écran résultant, cliquez sur la propriété Enable identity insert Et vos identités seront répliquées.

enter image description here

Même résultat que l'émission de SET IDENTITY_INSERT TableName ON & OFF, mais cela se fait automatiquement lors de la compilation.

199
billinkc