#xslt #biztalk
#xslt #biztalk
Вопрос:
есть ли какой-либо возможный способ доступа к базе данных SQL Server с использованием пользовательского кода XSLT в biztalk mapper, в biztalk у нас есть узел databaselookup, доступный для доступа и получения значения excat из БД.
Мне нужен код для доступа к базе данных SQL в коде xsl
Ответ №1:
Вы можете выяснить это, добавив к карте функцию поиска базы данных и извлечения значений, а затем нажав кнопку Проверить карту, а затем просмотрев созданный файл XSL.
Это будет выглядеть примерно следующим образом.
<xsl:variable name="var:v1" select="ScriptNS0:DBLookup(0 , string(XPATHTOVALUETOLOOKUP/text()) , amp;quot;CONNECTIONSTRINGamp;quot; , amp;quot;TABLENAMEamp;quot; , amp;quot;COLUMNNAMEamp;quot;)" />
<xsl:variable name="var:v2" select="ScriptNS0:DBValueExtract(string($var:v1) , amp;quot;EXTRACTCOLUMNNAMEamp;quot;)" />
Это выведет значение, которое было найдено.
<xsl:value-of select="$var:v2" />
Также будет следующее непосредственно перед концом шаблона.
<xsl:variable name="var:v3" select="ScriptNS0:DBLookupShutdown()" />
Примечания:
- Элементы во всех прописных должны быть значениями для полей, строки подключения, таблицы и столбца для возврата.
- Имена переменных от v1 до v3 могут отличаться в зависимости от того, какие переменные вы уже использовали.
- Если вы ищете справочные данные, другим вариантом поиска являются функции внешних ссылок, которые позволяют избежать необходимости иметь строку подключения, что упрощает развертывание. Смотрите мой блог Шаблон BizTalk: перевод справочных данных на карте с использованием внешней ссылки
Комментарии:
1. ваше право, игнорируя содержимое карты grid .. ошибка пространства имен придет.
2. мы можем использовать внутреннюю функцию скрипта, которая может получить доступ к базе данных и получить точное значение, что то же самое делает с функциями поиска данных. Спасибо Dijkgraaf за ваш ответ
3. с целью перехода от функций отображения к пользовательскому xslt