Вызов sql-процедуры, созданной на основе dll (BPM7) - ошибка

На C# написал класс, метод которого подключается к базе данных, собирает нужные данные, формирует PDF файл и отправляет клиенту.
В качестве параметра я передаю туда идентификатор счета (Invoice).
Далее, на основе класса и метода, я создаю в SQL ассамблею и процедуру.
И вызываю эту процедуру из BPM.

Возникает ошибка, которую я вижу просто в виде

При этом, если я запускаю эту же сформированную процедуру прямо в SQL Studio - все отлично срабатывает, счет формируется и отсылается. Проблема только при запуске из BPM.

Опытным путем, я установила, что ошибка возникает только в случае, если я в методе подключаюсь к базе данных. Если я просто формирую xml файл, с сохранение его на диске - все срабатывает (т.е. метод вызывается, и все отрабатывается как надо). Но как только я из метода делаю запрос к базе данных - возникает такая ошибка.

Может кто-то что-то подсказать? Спасибо.

Нравится

2 комментария

Здравствуйте, Наталия.

Bad Request error 400 – означает, что сервер обнаружил в данном запросе, который ввел клиент, синтаксическую ошибку. То есть - сервер обрабатывает битую ссылку ссылаясь на error 400.
Действительно, если посмотреть на Ваш скриншот, ссылка имеет один лишний слэш. Т.е. подозреваю что дело не в подключении к БД. Попробуйте скопировать адрес запроса и вставить в адресную строку в браузере, скорее всего Вы получите туже ошибку.
А если отсылать запрос без подключения к БД, адрес POST запроса такой же?

> А если отсылать запрос без подключения к БД, адрес POST запроса такой же?
Да. Такой же.

Мне удалось это наладить. Проблtма была именно при вызове процедуры для подключения к базе данных. Без вызова базы данных все работало прекрасно.
Для исправления ошибки надо было сначало запустить локальный сервис Distributed Transaction Coordinator. Потом вышла другая ошибка - о том, что данный процесс уже занят. Ее можно исправить, добавив в Connection String параметр Enlist=false

Показать все комментарии