2 votes

Recherche SSIS par colonne NVarChar(Max)

Je veux obtenir l'id de la table cible par lookup avec la colonne NVarChar(Max) dans la table cible et la colonne NVarChar(20) dans la table source. Mais il y a une erreur Cannot map the lookup column, 'Column1', because the column data type is a binary large object block (BLOB).

4voto

billinkc Points 23616

Dans votre transformation Lookup, vous devez transformer le blob (nvarchar(max)) en un type non-blob. Dans ce cas, je suppose que vous devez le convertir en nvarchar(20).

Vous devrez écrire une requête dans la transformation lookup et ne pas simplement sélectionner la table.

En supposant que la table de consultation ressemble à

LookupTable
--------------
Column0 int
Column1 nvarchar(max)
Column2 nvarchar(500)

Votre requête ressemblerait à

SELECT 
    L.Column0
,   CAST(L.Column1 AS nvarchar(20)) AS Column1
,   L.Column2 
FROM
    dbo.LookupTable L

Vous devriez maintenant être en mesure d'effectuer une recherche sur cette colonne.

2voto

Diego Points 13953

Vous ne pouvez pas :

La jointure peut être une jointure composite, ce qui signifie que vous pouvez joindre plusieurs colonnes dans l'entrée de la transformation aux colonnes dans l'ensemble de ensemble de données de référence. La transformation supporte les colonnes jointes avec n'importe quel type de données, sauf DT_R4, DT_R8, DT_TEXT, DT_NTEXT, ou DT_IMAGE.

Êtes-vous sûr d'utiliser le composant correctement ? En général, vous effectuez une recherche par ID pour obtenir le texte. Pouvez-vous donner plus de détails ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X