Как развернуть пакет SSIS VS2012, DataTools 2014 на SQL Server 2012

У меня VS2012 с последними инструментами данных. Почти все наши SQL-серверы 2014 года выпуска, и развертывание пакетов работает нормально.

Теперь у нас есть один сервер, который должен остаться на 2012 из-за внешнего поставщика. Когда я развертываю свои пакеты и пытаюсь запустить их, я получаю сообщение об ошибке, что номер версии выше ...

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

ISDeplymentWizard из версии 2012 года приводит к ошибке чтения xml.

У кого-нибудь есть предложение, как я могу развернуть?


person Harry Leboeuf    schedule 30.03.2015    source источник
comment
В обозревателе решений щелкните правой кнопкой мыши один из ваших пакетов и выберите «Просмотреть код» (F7). Найдите PackageFormatVersion Какое число там указано?   -  person billinkc    schedule 30.03.2015
comment
Говорит 8, а сервер сообщает, что не может быть больше 6. Могу ли я просто изменить это, или это будет слишком просто?   -  person Harry Leboeuf    schedule 31.03.2015


Ответы (1)


Как узнать версию SSIS этого пакета?

Единственный точный способ определить версию пакета SSIS — открыть его и найти значение PackageFormatVersion.

ПакетФорматВерсия

  • 1? = 2005
  • 3 = 2008
  • 6 = 2012
  • 8 = 2014

Самые умные из вас могут сказать: «Я могу использовать сами библиотеки SSIS для проверки этого значения». Когда вы это сделаете, вы узнаете, что каждый пакет SSIS, который вы можете открыть, будет той же версии, что и ваша библиотека SSIS. Это связано с тем, что пакеты совместимы вперед.

Пакет 2005 года будет работать при установке 2014 года. Пакет открывается, обновляется в памяти до текущей версии, [выполняется], а затем модификации отбрасываются. Итак, если вы попросите библиотеки сообщить значение, эта операция не произойдет с пакетом на диске. Вместо этого это будет версия в памяти/временно обновленная. это никогда не кусало меня за зад

Был проект codeplex для перемещения пакета 2008 года в 2005. Никто не пытался сделать то же самое для любой другой версии пакетов SSIS (насколько мне известно).

Изменение числа не приведет к волшебному понижению версии 2014 до 2012 года. Если бы мне нужно было поддерживать среду 2012 и 2014 годов с помощью пакетов SSIS, я бы построил все как 2012 год. Они будут обновлены при развертывании на серверах 2014 года.

Если бы мне пришлось поддерживать 2008/2005 в этом сочетании, я бы, вероятно, использовал что-то вроде Biml для описания своих пакетов SSIS. а затем используйте бесплатную надстройку BIDS Helper для отправки моих пакетов. Я открываю Biml с помощью VS 2008, и выходит пакет версии 2008 года. Тот же Biml, открытый в VS 2014, выдает пакет версии 2014.

person billinkc    schedule 31.03.2015