BizTalk Database Lookup фиксированное условие функтоида - PullRequest
0 голосов
/ 09 июня 2009

Есть ли способ дополнительно ограничить поиск, выполняемый функтоидом поиска в базе данных, для включения другого столбца?

У меня есть таблица, содержащая четыре столбца.

Id (личность не важна для этого) MapId int Ident1 VARCHAR Ident2 varchar

Я пытаюсь получить Ident2 для совпадения на Ident1, но хочу, чтобы он только просматривал, где MapId = 1.

Функтоид позволяет только четырем входам любые идеи?

UPDATE

Похоже, есть методика, если вы заинтересованы в поиске по столбцам, которые являются строковыми типами данных. Для тех, кто заинтересован, я узнал об этом здесь ...

Google Книги: рецепты BizTalk 2006

Видя, как я хочу ограничить числовой столбец, это не работает для меня. Если у кого-то есть идеи, я буду признателен. В противном случае мне может понадобиться подумать о том, чтобы мой столбец MapId стал строкой.

1 Ответ

0 голосов
/ 10 июня 2009

Я изменил MapId на MapCode типа char (3) и использовал технику, описанную в книге, на которую я ссылался, в обновлении исходного вопроса.

Единственная проблема, с которой я столкнулся, заключалась в том, что параметры сортировки столбцов не совпадали, поэтому я получал сообщение об ошибке от SQL, когда они объединялись в операторе, созданном картой.

exec sp_executesql N'SELECT * FROM IdentMap WHERE MapCode+Ident1= @P1',N'@P1 nvarchar(17)',N'<MapCode><Ident2>'

Обнаружено это с помощью SQL Profiler

...