SSIS потерял метаданные хранимой процедуры - PullRequest
0 голосов
/ 27 декабря 2010

У нас есть пакет SSIS, который выполняет хранимую процедуру в источнике OLEDB и записывает вывод в файл.Хранимая процедура имеет условие, что она не будет ничего делать, если это определенный день недели.Когда он производит данные, он проходит через несколько временных таблиц, чтобы сгенерировать окончательные данные (которые полностью получены из временных таблиц);Для сохраненного процесса в начале включена функция SET FMTONLY OFF, чтобы он мог отправлять метаданные в SSIS.(Используются два сервера: SQL Server 2008 на компьютерах с Windows 2008 Server.)

Прошлой ночью (дни, в которые не должны генерироваться данные, - это воскресенье / понедельник, и это было в воскресенье вечером, когда планировалось запустить егочасть большого задания, поэтому он будет запускаться каждый раз, когда запускается родитель), pkg начал жаловаться, что не может найти метаданные для хранимого процесса.Когда вы запускаете proc непосредственно на сервере в SQL Mgmt Studio, он не возвращает ни строк, ни заголовков столбцов.Однако точно такой же код и данные в нашей среде разработки этого не делают;он не возвращает данных (правильно), но отображает заголовки столбцов (также правильно), поэтому версия пакета pkg не жалуется на метаданные.

Я также попытался добавить хитрые метаданные вверхняя часть процедуры внутри никогда не выполняемого фрагмента кода (если 1 = 0, начать выбор приведения (null как varchar (10)) как конец column1), но это не сработало.

I 'Мне остается подумать, что должна существовать какая-то разница между производством и разработкой, которая не сохранит метаданные в кэше, но сохранит их в процессе разработки.У кого-нибудь есть идеи, с чего начать поиск?

1 Ответ

0 голосов
/ 30 декабря 2010

Я не думаю, что это проблема SSIS или проблема метаданных. Вы сказали, что при запуске в Management Studio процедура возвращает пустой набор данных в разработке (только заголовки столбцов) и вообще ничего в производстве. Это ваша проблема, тот факт, что процесс может ничего не возвращать, а не пустой набор данных, и именно поэтому SSIS жалуется на метаданные.

Дважды проверьте, чтобы ваш процесс и данные были одинаковыми при производстве и разработке. Каждый путь к коду возвращает что-то (то есть что-то может привести к тому, что производство попадет на путь к коду, который вообще ничего не возвращает)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...