Votre navigateur n’est pas pris en charge

Vous devez mettre à jour votre navigateur pour utiliser le site.

Mettre à jour vers la dernière version d’Internet Explorer

CORRECTIF : Échec du transfert d'une vue contenant une fonction définie par l'utilisateur à l'aide de l'Assistant Exportation DTS, avec erreur 208

Ancien nº de publication de cet article : F300272
Cet article a été archivé. Il est proposé « en l'état » et ne sera plus mis à jour.
N° DE BOGUE : 352081 (SHILOH_BUGS)
Symptômes
Les tentatives de transfert d'une vue à l'aide de l'Assistant Importation/Exportation DTS (Data Transformation Service) échouent dans les cas suivants :
  • La vue inclut une fonction définie par l'utilisateur.
  • Lors de la copie d'objets et de données entre des bases de données SQL Server.
Le texte suivant est un exemple du message d'erreur qui s'affiche :
Échec de la copie des objets de Microsoft SQL Server vers Microsoft SQL Server
[Microsoft][ODBC SQL Server Driver][SQL Server]Nom d'objet 'dbo.TestFunc' incorrect.
REMARQUE : " dbo.TestFunc " est le nom de la fonction définie par l'utilisateur.
Cause
La vue est créée dans la base de données de destination avant la fonction définie par l'utilisateur, qui est l'objet dépendant. Tous les objets dépendants doivent être créés en premier.
Résolution
Pour résoudre ce problème, procurez-vous le dernier Service Pack de SQL Server 2000. Pour plus d'informations, consultez l'article suivant dans la Base de connaissances Microsoft :
290211 INF : Procédures pour obtenir le dernier Service Pack de SQL Server 2000
Contournement
Transférez tous les objets dont dépend la vue en premier, puis, lorsque vous transférez la vue, n'incluez pas d'objets dépendants.
Statut
Microsoft a confirmé l'existence de ce problème dans SQL Server 2000. Ce problème a été corrigé dans le Service Pack 1 de SQL Server 2000.
Plus d'informations

Procédure pour reproduire le comportement

  1. Dans la base de données source, exécutez ce code pour créer la table, la vue et la fonction définie par l'utilisateur :
    CREATE FUNCTION TestFunc ()RETURNS INT AS  BEGIN           RETURN 15ENDgoCREATE TABLE dbo.TestTable ( col1 int NULL )goCREATE VIEW dbo.TestViewASSELECT col1, dbo.TestFunc() AS FuncResults FROM dbo.TestTablego
  2. Maintenant, utilisez l'Assistant Exportation/Importation DTS pour les copier dans une autre base de données SQL Server.
  3. Sélectionnez l'option Copier les objets et les données entre les bases de données SQL Server. Conservez tous les paramètres par défaut pour les options de script.Cette procédure échoue et le message d'erreur suivant est consigné dans le fichier .log de la base de données cible :
    État du transfert : Création de vues sur la base de données de destination
    [Microsoft][ODBC SQL Server Driver][SQL Server]Nom d'objet 'dbo.TestFunc' incorrect.
Pour contourner ce problème, copiez d'abord la table dépendante, TestTable, et la fonction définie par l'utilisateur " TestFunc ". Copiez ensuite la vue en désactivant la case à cocher Inclure tous les objets dépendants.
208 package
Propriétés

ID d'article : 300272 - Dernière mise à jour : 01/16/2015 22:52:48 - Révision : 3.1

  • Microsoft SQL Server 2000 Standard
  • kbnosurvey kbarchive kbbug kbfix kbsqlserv2000bug kbsqlserv2000sp1fix KB300272
Commentaires