Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Создал в Visual Studio 2015 Update 3 проект SSIS - а с другой машины не открывает  [new]
DaniilSeryi
Member

Откуда:
Сообщений: 1723
Создал в Visual Studio 2015 Update 3 проект SSIS - а с другой машины не открывает. На той машине, на которой не открывает, стояла Visual Studio 2015 Update 1. Обновил до Update 3, получил сообщение, что были ошибки при установке. Затем накатил новый SSDT для Visual Studio 2015, перезагружаюсь, запускаю студию, пытаюсь открыть проект заново, и опять та же проблема.

Сообщение о проблеме:

TITLE: Microsoft Visual Studio
------------------------------
There is an error in XML document (73, 10).
------------------------------
ADDITIONAL INFORMATION:
Instance validation error: 'SQLServer2017' is not a valid value for DTSTargetServerVersion. (Microsoft.GeneratedCode)
------------------------------

Вопрос - что делать?
Пока вариантов три:
1) ставить на обе машины одинаковые версии Visual Studio 2017 и SSDT с одновременным выпилом 2015й ;
2) ставить на вторую машину отсутствующие компоненты (знать бы ещё, какие именно и откуда их брать - просьба подсказать);
3) Менять в проекте версию SQL сервера на более низкую.

И дополнительный вопрос - проект SSIS, созданный в Visual Studio 2015 или 2017, встанет нормально на 2008 SQL Server? И что для этого надо будет сделать? Или переделывать весь проект под 2010 студией?
20 авг 18, 01:28    [21647489]     Ответить | Цитировать Сообщить модератору
 Re: Создал в Visual Studio 2015 Update 3 проект SSIS - а с другой машины не открывает  [new]
DaniilSeryi
Member

Откуда:
Сообщений: 1723
Блин... На второй машине в списке доступных SQL Server-ов для проекта SSIS только 2012, 2014 и 2016. И откуда 2008 брать?
20 авг 18, 01:36    [21647490]     Ответить | Цитировать Сообщить модератору
 Re: Создал в Visual Studio 2015 Update 3 проект SSIS - а с другой машины не открывает  [new]
Ennor Tiegael
Member

Откуда:
Сообщений: 3247
DaniilSeryi,

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

НАСТОЯТЕЛЬНО не рекомендую ставить SSDT 2017, если только на отдельную машину / виртуалку. Несколько версий назад Microsoft накосячила в инсталляторе и теперь SSDT 2017 больше не уживается вместе с VS 2017. Вроде как есть способ заставить их работать на одной машине, но мне он не понравился (вам, скорее всего, тоже).
Зная Microsoft, предположу что данные косяки не будут исправлены до следующей версии студии, что для 2017 версии означает никогда. Так что лучше на 2015 пересидеть.
20 авг 18, 04:36    [21647501]     Ответить | Цитировать Сообщить модератору
 Re: Создал в Visual Studio 2015 Update 3 проект SSIS - а с другой машины не открывает  [new]
DaniilSeryi
Member

Откуда:
Сообщений: 1723
Ennor Tiegael,

Блин... А как мне в 2015 студии пакет под 2008 сервер запилить? Или искать где-то BIDS этот несчастный под 2008й?
20 авг 18, 08:47    [21647571]     Ответить | Цитировать Сообщить модератору
 Re: Создал в Visual Studio 2015 Update 3 проект SSIS - а с другой машины не открывает  [new]
Ferdipux
Member

Откуда: Москва
Сообщений: 553
DaniilSeryi
Ennor Tiegael,

... А как мне в 2015 студии пакет под 2008 сервер запилить? Или искать где-то BIDS этот несчастный под 2008й?

В VS2015 - никак. Ставьте BIDS 2008, он входит в инсталлятор SQL 2008.
20 авг 18, 09:36    [21647643]     Ответить | Цитировать Сообщить модератору
 Re: Создал в Visual Studio 2015 Update 3 проект SSIS - а с другой машины не открывает  [new]
DaniilSeryi
Member

Откуда:
Сообщений: 1723
Ennor Tiegael
DaniilSeryi,

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

НАСТОЯТЕЛЬНО не рекомендую ставить SSDT 2017, если только на отдельную машину / виртуалку. Несколько версий назад Microsoft накосячила в инсталляторе и теперь SSDT 2017 больше не уживается вместе с VS 2017. Вроде как есть способ заставить их работать на одной машине, но мне он не понравился (вам, скорее всего, тоже).
Зная Microsoft, предположу что данные косяки не будут исправлены до следующей версии студии, что для 2017 версии означает никогда. Так что лучше на 2015 пересидеть.


А SSDT 2017 с Visual Studio 2015 можно скрестить? Или лучше не стоит?
20 авг 18, 09:48    [21647666]     Ответить | Цитировать Сообщить модератору
 Re: Создал в Visual Studio 2015 Update 3 проект SSIS - а с другой машины не открывает  [new]
Ferdipux
Member

Откуда: Москва
Сообщений: 553
DaniilSeryi

А SSDT 2017 с Visual Studio 2015 можно скрестить? Или лучше не стоит?

По то же ссылке есть SSDT для VS 2015.
Нужен - если вы делаете пакеты/проекты для SSIS 2017, ну и что-то там может быть поправлено.
20 авг 18, 09:56    [21647685]     Ответить | Цитировать Сообщить модератору
 Re: Создал в Visual Studio 2015 Update 3 проект SSIS - а с другой машины не открывает  [new]
Ennor Tiegael
Member

Откуда:
Сообщений: 3247
DaniilSeryi
А SSDT 2017 с Visual Studio 2015 можно скрестить? Или лучше не стоит?
По идее, взлететь должно. Попробуйте, заодно и нам расскажете...
21 авг 18, 05:31    [21648805]     Ответить | Цитировать Сообщить модератору
 Re: Создал в Visual Studio 2015 Update 3 проект SSIS - а с другой машины не открывает  [new]
Ennor Tiegael
Member

Откуда:
Сообщений: 3247
Ferdipux
Нужен - если вы делаете пакеты/проекты для SSIS 2017, ну и что-то там может быть поправлено.
... или сломано .
21 авг 18, 09:36    [21648935]     Ответить | Цитировать Сообщить модератору
 Re: Создал в Visual Studio 2015 Update 3 проект SSIS - а с другой машины не открывает  [new]
DaniilSeryi
Member

Откуда:
Сообщений: 1723
вопрос - как в ScriptTask-e в BIDS 2008 (язык скрипта Microsoft Visual C# 2008) обратиться к переменной пакета / параметрам проекта из кода скрипта?

В Visual Studio 2015 (язык скрипта Microsoft Visual C# 2015) пишу:
 Dts.Variables["User::FileName2"].Value 
и всё работает.

Само собой, что в обоих случаях необходимые переменные и параметры в настройках задачи в ReadOnlyVariables и ReadWriteVariables указаны.
27 авг 18, 12:42    [21654848]     Ответить | Цитировать Сообщить модератору
 Re: Создал в Visual Studio 2015 Update 3 проект SSIS - а с другой машины не открывает  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31355
DaniilSeryi
вопрос - как в ScriptTask-e в BIDS 2008 (язык скрипта Microsoft Visual C# 2008) обратиться к переменной пакета / параметрам проекта из кода скрипта?

В Visual Studio 2015 (язык скрипта Microsoft Visual C# 2015) пишу:
 Dts.Variables["User::FileName2"].Value 

и всё работает.

Само собой, что в обоих случаях необходимые переменные и параметры в настройках задачи в ReadOnlyVariables и ReadWriteVariables указаны.
Может, так?
Dts.Variables["FileName2"].Value 
27 авг 18, 22:36    [21655558]     Ответить | Цитировать Сообщить модератору
 Re: Создал в Visual Studio 2015 Update 3 проект SSIS - а с другой машины не открывает  [new]
DaniilSeryi
Member

Откуда:
Сообщений: 1723
alexeyvg
DaniilSeryi
вопрос - как в ScriptTask-e в BIDS 2008 (язык скрипта Microsoft Visual C# 2008) обратиться к переменной пакета / параметрам проекта из кода скрипта?

В Visual Studio 2015 (язык скрипта Microsoft Visual C# 2015) пишу:
 Dts.Variables["User::FileName2"].Value 

и всё работает.

Само собой, что в обоих случаях необходимые переменные и параметры в настройках задачи в ReadOnlyVariables и ReadWriteVariables указаны.
Может, так?
Dts.Variables["FileName2"].Value 


2008-я студия ругается и на квадратные, и на круглые скобки. Не на имя переменной.
28 авг 18, 10:40    [21655807]     Ответить | Цитировать Сообщить модератору
 Re: Создал в Visual Studio 2015 Update 3 проект SSIS - а с другой машины не открывает  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31355
DaniilSeryi
alexeyvg
пропущено...
Может, так?
Dts.Variables["FileName2"].Value 



2008-я студия ругается и на квадратные, и на круглые скобки. Не на имя переменной.
Вы бы скопировали сюда ругань.

Использование квадратных скобок для получения элемента коллекции - нормальный, правильный синтаксис в C#.
28 авг 18, 10:57    [21655832]     Ответить | Цитировать Сообщить модератору
 Re: Создал в Visual Studio 2015 Update 3 проект SSIS - а с другой машины не открывает  [new]
Ennor Tiegael
Member

Откуда:
Сообщений: 3247
DaniilSeryi
2008-я студия ругается и на квадратные, и на круглые скобки. Не на имя переменной.
Язык в свойствах скрипт таска точно C#, а не VB.Net?
28 авг 18, 12:17    [21655973]     Ответить | Цитировать Сообщить модератору
 Re: Создал в Visual Studio 2015 Update 3 проект SSIS - а с другой машины не открывает  [new]
DaniilSeryi
Member

Откуда:
Сообщений: 1723
Ennor Tiegael
DaniilSeryi
2008-я студия ругается и на квадратные, и на круглые скобки. Не на имя переменной.
Язык в свойствах скрипт таска точно C#, а не VB.Net?


Да, точно. C# 2008.
28 авг 18, 13:03    [21656044]     Ответить | Цитировать Сообщить модератору
 Re: Создал в Visual Studio 2015 Update 3 проект SSIS - а с другой машины не открывает  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4204
Не могу утвержадть на 100%, но возможно, что так
Dts.Variables.FileName2.Value 
29 авг 18, 11:44    [21657380]     Ответить | Цитировать Сообщить модератору
 Re: Создал в Visual Studio 2015 Update 3 проект SSIS - а с другой машины не открывает  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31355
SQL2008
Не могу утвержадть на 100%, но возможно, что так
Dts.Variables.FileName2.Value 
Не, так не бывает :-)
Не может же компилятор менять системные коллекции в зависимости от данных пакета :-)
29 авг 18, 16:50    [21657895]     Ответить | Цитировать Сообщить модератору
 Re: Создал в Visual Studio 2015 Update 3 проект SSIS - а с другой машины не открывает  [new]
Ennor Tiegael
Member

Откуда:
Сообщений: 3247
DaniilSeryi,

Реальный кусок 1:1 из пакета с одного из серверов с 2008 сиквелом. Это гарантированно работает, сам проверял:
using System;
using System.Data;
using System.Text.RegularExpressions;
using Microsoft.SqlServer.Dts.Runtime;
using System.Windows.Forms;

        public void Main()
        {
            string sysErrorDescription = Dts.Variables["ErrorDescription"].Value.ToString();
            string strErrorMessage = "";

            //use friendly message if found otherwise user system error message
            switch (Dts.Variables["varFriendlyMessage"].Value.ToString())
            {
                case "System Msg":
                    strErrorMessage = sysErrorDescription;
                    break;
                default:
                    strErrorMessage = Dts.Variables["varFriendlyMessage"].Value.ToString();
                    break;
            }
        ...
Часть using'ов, скорее всего, лишние, наверняка копипастили.

Но при этом, конечно, все эти переменные должны быть упомянуты в соотв. свойствах таска, либо ReadOnlyVariables, либо ReadWriteVariables.
30 авг 18, 09:43    [21658478]     Ответить | Цитировать Сообщить модератору
 Re: Создал в Visual Studio 2015 Update 3 проект SSIS - а с другой машины не открывает  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4204
alexeyvg
SQL2008
Не могу утвержадть на 100%, но возможно, что так
Dts.Variables.FileName2.Value 

Не, так не бывает :-)
Не может же компилятор менять системные коллекции в зависимости от данных пакета :-)

И верно, это я немного напутал. Давно не брал в руки шашек :)
30 авг 18, 10:10    [21658499]     Ответить | Цитировать Сообщить модератору
 Re: Создал в Visual Studio 2015 Update 3 проект SSIS - а с другой машины не открывает  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31355
Ennor Tiegael
Реальный кусок 1:1 из пакета с одного из серверов с 2008 сиквелом. Это гарантированно работает, сам проверял:
Да конечно, работает Dts.Variables["varFriendlyMessage"].Value, какие могут быть сомнения?
Ennor Tiegael
Но при этом, конечно, все эти переменные должны быть упомянуты в соотв. свойствах таска, либо ReadOnlyVariables, либо ReadWriteVariables.
И ещё нужно, например, смотреть на область видимости переменных пакета.

Но автор ошибку скрывает, кто знает, что у него там происходит?
30 авг 18, 10:21    [21658513]     Ответить | Цитировать Сообщить модератору
 Re: Создал в Visual Studio 2015 Update 3 проект SSIS - а с другой машины не открывает  [new]
DaniilSeryi
Member

Откуда:
Сообщений: 1723
Ennor Tiegael
DaniilSeryi,

Реальный кусок 1:1 из пакета с одного из серверов с 2008 сиквелом. Это гарантированно работает, сам проверял:
using System;
using System.Data;
using System.Text.RegularExpressions;
using Microsoft.SqlServer.Dts.Runtime;
using System.Windows.Forms;

        public void Main()
        {
            string sysErrorDescription = Dts.Variables["ErrorDescription"].Value.ToString();
            string strErrorMessage = "";

            //use friendly message if found otherwise user system error message
            switch (Dts.Variables["varFriendlyMessage"].Value.ToString())
            {
                case "System Msg":
                    strErrorMessage = sysErrorDescription;
                    break;
                default:
                    strErrorMessage = Dts.Variables["varFriendlyMessage"].Value.ToString();
                    break;
            }
        ...
Часть using'ов, скорее всего, лишние, наверняка копипастили.

Но при этом, конечно, все эти переменные должны быть упомянуты в соотв. свойствах таска, либо ReadOnlyVariables, либо ReadWriteVariables.


Благодарю. Возможно, скоро придётся проверить.

А в ReadOnlyVariables и ReadWriteVariables всё прописано.
30 авг 18, 12:39    [21658715]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить