SSIS Имена входных переменных, заканчивающиеся на «Указано» - почему? - PullRequest
0 голосов
/ 28 июля 2011

Я пытаюсь использовать некоторые службы WCF из служб SSIS. У меня все работало нормально с машины для разработки. Однако, когда другой разработчик пытается это сделать, у них возникают проблемы.

Если другой разработчик скопирует мой .DTSX файл, он будет работать. Однако, если они создают его самостоятельно, он не может подключиться (отслеживая его со стороны WCF).

Мы заметили БОЛЬШУЮ разницу в том, как SSIS действует на двух машинах, и я подозреваю, что это является причиной проблемы. Обе машины SSIS загружают одни и те же данные WSDL из службы. Однако задача веб-службы на моей машине (функциональная) имеет другой набор входных данных, чем на машине другого разработчика (нефункциональная). Например, если мой метод, который я пытался вызвать, был DoStuff(int data1, decimal data2, string msg), у меня было бы 5 входов: data1 (int), data1Specified (bool), data2 (decimal), data2Specified (bool) и msg (string), тогда как на другой машине отсутствовал data1Specified и data2Specified входы. При работе с другими входными данными кажется, что эта переменная xxxSpecified всегда создается моей машиной для всех типов данных, кроме строк (не проверенных всесторонне, но добавивших ~ 8 типов данных), но машина другого разработчика НИКОГДА не создает их xxxSpecified переменных.

Еще одно замечание: если другой разработчик импортирует .DTSX с моего компьютера и запускает его напрямую, он работает. Если он нажимает кнопку «Загрузить WSDL», хотя он загружает точно такой же WSDL, он получает другой набор входных данных после указания службы / метода для вызова. Очевидно, что его среда разработки SSIS принимает решения, отличные от моих, и мы не можем понять, почему или как сделать его поступок более похожим на мой. Мы также даже не осознаем, почему эти xxxSpecified переменные, по-видимому, необходимы («Указано» существует НИГДЕ в WSDL).

ПОЧЕМУ SSIS генерирует эти xxxSpecified входные данные и почему в одной среде, а не в другой?

  • Пояснение: «GoodDevBox» создает проект вручную, с нуля, и он работает (т.е. имеет входные данные, указанные в xxxSpecified). «BadDevBox» создает проект вручную, с нуля, и он не работает (т. Е. Отсутствует ввод данных xxxSpecified). Проблема не имеет ничего общего с совместным использованием проектов / решений. Фактически, разделение их - единственный способ заставить это работать, если «BadDevBox» не повторно обрабатывает WSDL.

Ответы [ 2 ]

0 голосов
/ 23 сентября 2011

В итоге мы просто удалили и переустановили SQL Server на проблемных компьютерах, запустили обновления Windows, и проблема исчезла.До сих пор не знаю, в чем заключалась проблема, и при этом я до сих пор не знаю верного ответа на мой вопрос: ПОЧЕМУ генерируются переменные с «Указанным» в конце имен.

0 голосов
/ 28 июля 2011

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

При передаче решений с одного компьютера на другой эти учетные данные сохраняются в конфигурации, независимо от того, открывает ли пользователь решение, используя свой логин.

Проверьте файл конфигурации и сравните их между тем, который работает, и тем, который не

...