2017-07-13 2 views
1

J'essaye d'ajouter une condition à une Transformation de Split conditionnelle dans SSIS mais le caractère de double guillemet au début d'une chaîne dans la condition jette une erreur.Pourquoi ne puis-je pas échapper les caractères de guillemets dans SSIS Expression Builder?

Voici ma condition:

(FirstName != LkUp_FirstName) || ((ISNULL(MiddleName) ? “abc” : MiddleName) != (ISNULL(LkUp_MiddleName) ? “abc” : LkUp_MiddleName)) || (LastName != LkUp_LastName) 

est ici le début du message d'erreur que je reçois lorsque je clique sur OK dans l'éditeur de transformation de fractionnement conditionnel:

Error at Data Flow Task [Conditional Split [105]]: Attempt to parse the expression "(FirstName != LkUp_FirstName) || ((ISNULL(MiddleName) ? “abc” : MiddleName) != (ISNULL(LkUp_MiddleName) ? “abc” : LkUp_MiddleName)) || (LastName != LkUp_LastName)" failed. The token " " at line number "1", character number "57" was not recognized. The expression cannot be parsed because it contains invalid elements at the location specified. 

J'ai essayé d'échapper à la double quotes avec un « \ » en changeant la condition:

(FirstName != LkUp_FirstName) || ((ISNULL(MiddleName) ? \“abc\” : MiddleName) != (ISNULL(LkUp_MiddleName) ? \“abc\” : LkUp_MiddleName)) || (LastName != LkUp_LastName) 

Mais je reçois la erreur suivant:

Error at Data Flow Task [Conditional Split [105]]: Attempt to parse the expression "(FirstName != LkUp_FirstName) || ((ISNULL(MiddleName) ? \“abc\” : MiddleName) != (ISNULL(LkUp_MiddleName) ? \“abc\” : LkUp_MiddleName)) || (LastName != LkUp_LastName)" failed. The token "\" at line number "1", character number "57" was not recognized. The expression cannot be parsed because it contains invalid elements at the location specified.

+1

'" abc "' semble être un copier-coller. supprimez votre double citation et écrivez manuellement '" 'dans le constructeur d'expression –

+0

Oui, c'était exactement cela! Je n'avais aucune idée que cela ferait une différence Merci – user2989759

Répondre

0

Comme Prabhat G a dit le “abc” était un copier-coller alors j'ai enlevé le guillemet et il est entré manuellement à nouveau.

Leçon apprise: il est toujours préférable de construire vos expressions à partir de zéro!

+0

Heureux d'aider! –