Comment récupérer un bigint une base de données et le placer dans un Int64 en SSIS

StackOverflow https://stackoverflow.com/questions/2951017

  •  22-10-2019
  •  | 
  •  

Question

je suis tombé sur ce problème quelques années en arrière et espère, il y a eu une solution et je ne sais pas tout simplement à ce sujet. J'utilise une « tâche d'exécution SQL » dans le flux de contrôle d'un package SSIS pour récupérer une valeur ID « bigint ». La tâche est censée placer dans une variable Int64 SSIS mais j'obtiens l'erreur: « Le type de la valeur affectée à la variable « utilisateur :: AuditID » diffère de celle du type de courant variable Les variables ne peuvent pas le type de changement en cours d'exécution variable.. types sont strictes, à l'exception des variables de type objet. "

Quand j'ai signalé à MS » attention quelques années dos ils ont déclaré que je devais « travail autour » en plaçant la bigint dans une variable d'objet SSIS puis convertir la valeur Int64 au besoin. Est-ce que quelqu'un sait si cela a été corrigé ou dois-je encore « travail autour » ce gâchis?


edit:

Statistiques serveur

  • Produit: Microsoft SQL Server Enterprise Edition
  • Système d'exploitation: Microsoft Windows NT 5.2 (3790)
  • Plate-forme: NT INTEL X86
  • Version: 9.00.1399.06
Était-ce utile?

La solution

Vous devez lire la valeur BIGINT dans une variable de chaîne - pas une variable d'objet: Pourquoi ne puis-je conserver mon résultat BIGINT dans une variable Int64?

Autres conseils

J'était en mesure de tirer dans un BIGINT dans un Int64 sans problème à l'aide d'une tâche ExecuteSQL. Si votre jeu de résultats est une seule ligne, assurez-vous que vous définissez comme tel dans votre tâche ExecuteSQL. Si votre jeu de résultats est plusieurs lignes alors vous devez utiliser une variable de type d'objet pour le jeu de résultats et vous définissez la variable au sein de votre structure de boucle. Je ne pense pas que ce soit une « solution », car un ensemble de valeurs BIGINT est différent d'un BIGINT.

Je suis sur SQL 2008, mais SSIS doit gérer les choses (surtout) la même quel que soit les données source.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top