#.net #sql #database #ssis #lookup
#.net #sql #База данных #ssis #поиск
Вопрос:
Я просто хочу убедиться, что я делаю это правильно.
Derived columns:
car
truck
Lookup (after derived column:)
1.Query: select * from dbo.store where A = ? and B = ?.
2.In column mapping/or advanced parameters I map car to A and truck to B.
Правильно? Я спрашиваю об этом, потому что продолжаю получать ошибку OLE.
Комментарии:
1. никто не знает, как использовать поиск??
2. Какую ошибку вы получаете?
Ответ №1:
Пока я жду ответа на сообщение об ошибке, на данный момент я предполагаю, что вы неправильно используете компонент поиска. Ваш синтаксис запроса предполагает, что будет выполняться запрос для каждой строки, проходящей через компонент.
Способ, которым компонент поиска работает с конфигурацией по умолчанию, заключается в том, что во время события предварительного выполнения запрос выполняется к целевой базе данных, и все результаты извлекаются обратно. Вот почему в качестве общей рекомендации вы должны извлекать только те столбцы, которые вам нужны. Затем результаты запроса кэшируются локально и используются в задаче поиска в качестве поиска в стиле словаря.
Эти экраны меняются между 2005 и 2008 годами, но вы можете разобраться.
Выберите режим кэша
Определите соединение и ваш исходный запрос.
Подключите столбцы. Вот как он будет находить совпадения вместо метода параметризации, который вы пытались использовать. В этом примере я подключаю truck и car к A и B и извлекаю столбец foo