Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 SSIS, nvarchar(max) и Object variable  [new]
kalimba
Member

Откуда:
Сообщений: 297
Всем привет, подскажите, может кто сталкивался с такой проблемой. Генерирую на стороне SQL Server записи в одну длинную строку (~80k символов, nvarchar(max)), далее эту строку дополняю в SSIS (конкретно это INSERT ... ON DUPLICATE KEY UPDATE для MySQL) и через ExecuteSQL отправляю MySQL через ODBC драйвер. Сейчас это всё работает, но проблема в том что в переменную типа String в SSIS влезает 8000 символов (varchar(8000)), а для nvarchar(max) нужно использовать переменную типа Object, но этот тип нельзя использовать в Expressions. Когда создаю Script Task, то у меня не как не получилось преобразовать эту Object переменную в string, всегда пишет ошибку. Для Script Transform я это делаю с помощью такого кода:
System.Text.Encoding.Unicode.GetString(Row.Field1.GetBlobData(0, Convert.ToInt32(Row.Field1.Length)))
,
но этот метод находится в пространстве имен Microsoft.SqlServer.Dts.Pipeline, которое нельзя подключить для Script Task. Как можно выйти из этой ситуации и вообще в верном ли направлении я мыслю? (Через Script Task по коннекшену отправить эту длинную строку)
1 июл 14, 15:37    [16244277]     Ответить | Цитировать Сообщить модератору
 Re: SSIS, nvarchar(max) и Object variable  [new]
invm
Member

Откуда: Москва
Сообщений: 9825
kalimba
Генерирую на стороне SQL Server записи в одну длинную строку (~80k символов, nvarchar(max)), далее эту строку дополняю в SSIS (конкретно это INSERT ... ON DUPLICATE KEY UPDATE для MySQL) и через ExecuteSQL отправляю MySQL через ODBC драйвер.
Положить данные в служебную таблицу на MySQL и затем выполнить одну инструкцию INSERT ... ON DUPLICATE KEY UPDATE?
1 июл 14, 15:51    [16244378]     Ответить | Цитировать Сообщить модератору
 Re: SSIS, nvarchar(max) и Object variable  [new]
kalimba
Member

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

Если я правильно понял то в этой инструкции нельзя использовать FROM
1 июл 14, 16:06    [16244488]     Ответить | Цитировать Сообщить модератору
 Re: SSIS, nvarchar(max) и Object variable  [new]
invm
Member

Откуда: Москва
Сообщений: 9825
kalimba
Если я правильно понял то в этой инструкции нельзя использовать FROM
INSERT ... SELECT Syntax
1 июл 14, 16:20    [16244624]     Ответить | Цитировать Сообщить модератору
 Re: SSIS, nvarchar(max) и Object variable  [new]
kalimba
Member

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

Спасибо, возможно так поступить действительно намного легче)
1 июл 14, 16:28    [16244711]     Ответить | Цитировать Сообщить модератору
 Re: SSIS, nvarchar(max) и Object variable  [new]
kalimba
Member

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

К сожалению не подошло, так как нужно обновлять пачками по 1000-10000 строк примерно. Буду думать дальше.
1 июл 14, 17:02    [16244959]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить