|
SSIS. Преобразование данных.
|
|||
---|---|---|---|
#18+
Здравствуйте! Подскажите, пожалуйста! При загрузке данных из Excel в базу данных MS SQL Server через SSIS выдает ошибку Convert Between Unicode and Non-Unicode Error. Ошибка выскакивает по строковому полю, которое в базе данных имеет тип varchar. Я пробовал через задачу SSIS преобразования данных. Там выбираю по нужному полю, чтоб тип данных загружаемых был не юникод а просто строковый. Но ничего не выходит. Перепробовал кучу комбинаций - безрезультатно. Еще когда выбираю в задаче по преобразованию тип данных строковый, то появляется возможность выбрать код и стандартно он выбирается ANSI Кирилица. Но пробовал и латынь поставить (т.к. загружаемые данные на англ языке) - все равно ничего не получается. Подскажите, как решить данную проблему? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2021, 09:13 |
|
SSIS. Преобразование данных.
|
|||
---|---|---|---|
#18+
1. Загрузить nvarchar (UNICODE). 2. Средствами T-SQL преобразовать в varchar. ЗЫ. SSIS хорош... пока работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2021, 09:30 |
|
SSIS. Преобразование данных.
|
|||
---|---|---|---|
#18+
aleks222, я пробовал потестить и создать в базе необходимый мне атрибут с типом nvarchar и тогда все прекрасно грузится. Но в моем случае надо загрузить данные именно в атрибут varchar :(( Мне кажется, что где-то закралась проблема в этой кодировке в Задаче преобразования данных. Или я не туда копаю? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2021, 09:35 |
|
SSIS. Преобразование данных.
|
|||
---|---|---|---|
#18+
Pavel_124, Так перекодируйте в SSIS это поле. Derived Column или Data Conversion в Data Flow ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2021, 09:57 |
|
SSIS. Преобразование данных.
|
|||
---|---|---|---|
#18+
msLex Pavel_124, Так перекодируйте в SSIS это поле. Derived Column или Data Conversion в Data Flow Нашел инструкцию в иннете. Может я чо неправильно делал. Попробую строго по инструкции. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2021, 10:05 |
|
SSIS. Преобразование данных.
|
|||
---|---|---|---|
#18+
Pavel_124 msLex Pavel_124, Так перекодируйте в SSIS это поле. Derived Column или Data Conversion в Data Flow Нашел инструкцию в иннете. Может я чо неправильно делал. Попробую строго по инструкции. что там делать-то source (ваш excel) -> Data Conversion (добавление нового поля с нужной кодировкой) -> destination (ваша таблица, где в VARCHAR поле замаплено поле, добавленное в Data Conversion ) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2021, 10:30 |
|
SSIS. Преобразование данных.
|
|||
---|---|---|---|
#18+
aleks222 1. Загрузить nvarchar (UNICODE). 2. Средствами T-SQL преобразовать в varchar. ЗЫ. SSIS хорош... пока работает. Если хотя бы попытаться узнать его возможности. В SSIS есть по-крайне мере 3 способа конвертации данных. 1. Data Conversion - это прям специально сделанный элемент DataFlow для конвертации данных. 2. Derived Column - более гибкий, позволяет не только конвертировать данные, но и преобразовывать (например, склеить или разделить). Ограничен рамками 1-й конкретной строки. 3. Script Component - тут вообще можно делать все, что позволяет .Net. Причем не только с одной конкретной записью, а со всем набором целиком (например, сложный stream (или hash) aggregate) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2021, 10:37 |
|
SSIS. Преобразование данных.
|
|||
---|---|---|---|
#18+
msLex aleks222 1. Загрузить nvarchar (UNICODE). 2. Средствами T-SQL преобразовать в varchar. ЗЫ. SSIS хорош... пока работает. Если хотя бы попытаться узнать его возможности. В SSIS есть по-крайне мере 3 способа конвертации данных. 1. Data Conversion - это прям специально сделанный элемент DataFlow для конвертации данных. 2. Derived Column - более гибкий, позволяет не только конвертировать данные, но и преобразовывать (например, склеить или разделить). Ограничен рамками 1-й конкретной строки. 3. Script Component - тут вообще можно делать все, что позволяет .Net. Причем не только с одной конкретной записью, а со всем набором целиком (например, сложный stream (или hash) aggregate) На свете есть многое, друг горацио, что и не снилось вашим мудрецам. Только нафига? Мне проще ADO воспользоваться, если уж так припрет. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2021, 18:06 |
|
SSIS. Преобразование данных.
|
|||
---|---|---|---|
#18+
aleks222 На свете есть многое, друг горацио, что и не снилось вашим мудрецам. Только нафига? Мне проще ADO воспользоваться, если уж так припрет. Оказывается, вы развлекаетесь не только оркестрацией на SQL, но и трансформацией данных через ADO! (записал вторым пунктом) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2021, 18:56 |
|
SSIS. Преобразование данных.
|
|||
---|---|---|---|
#18+
.Евгений aleks222 На свете есть многое, друг горацио, что и не снилось вашим мудрецам. Только нафига? Мне проще ADO воспользоваться, если уж так припрет. Оказывается, вы развлекаетесь не только оркестрацией на SQL, но и трансформацией данных через ADO! (записал вторым пунктом) Ващето, если ты не в курсе, "преобразование данных" прямая функция SQL. И преобразует он их быстрее и эффективнее фсяких SSIS. SSIS - это костыль для инвалидов. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2021, 19:33 |
|
SSIS. Преобразование данных.
|
|||
---|---|---|---|
#18+
aleks222 Ващето, если ты не в курсе, "преобразование данных" прямая функция SQL. Вообще-то, если вы не в курсе, преобразование данных это не прямая функция SQL Server. Скорость работы со строковыми функциями в SQL Server вообще оставляет желать лучшего. aleks222 И преобразует он их быстрее и эффективнее фсяких SSIS. Вы до моего сообщения даже не знали как это сделать в SSIS, но уже с уверенностью заявляете, что то, о чем вы даже не знали, работает медленно. Есть ссылки на замеры скорости? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2021, 19:49 |
|
SSIS. Преобразование данных.
|
|||
---|---|---|---|
#18+
msLex aleks222 Ващето, если ты не в курсе, "преобразование данных" прямая функция SQL. Вы до моего сообщения даже не знали как это сделать в SSIS, но уже с уверенностью заявляете, что то, о чем вы даже не знали, работает медленно. Анекдот про Неуловимого Джо надо напоминать? ЗЫ. Ты, наверное, веруешь, что SSIS написан сверхчеловеками с использованием неземного кода. Дык, открою тебе страшную тайну - это обычный "сверхуниверсальный код для чайников", который использует те же стандартные библиотеки, только медленнее. Из-за доп.наворотов. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2021, 20:14 |
|
SSIS. Преобразование данных.
|
|||
---|---|---|---|
#18+
aleks222 msLex пропущено... Вы до моего сообщения даже не знали как это сделать в SSIS, но уже с уверенностью заявляете, что то, о чем вы даже не знали, работает медленно. Анекдот про Неуловимого Джо надо напоминать? ЗЫ. Ты, наверное, веруешь, что SSIS написан сверхчеловеками с использованием неземного кода. Дык, открою тебе страшную тайну - это обычный "сверхуниверсальный код для чайников", который использует те же стандартные библиотеки, только медленнее. Из-за доп.наворотов. Ну т.е. как я и думал, никаких тестов вы не проводили, а простое бла-бла. Спасибо. Ваше мнение о SISS очень ценно. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2021, 20:23 |
|
SSIS. Преобразование данных.
|
|||
---|---|---|---|
#18+
msLex aleks222 пропущено... Анекдот про Неуловимого Джо надо напоминать? ЗЫ. Ты, наверное, веруешь, что SSIS написан сверхчеловеками с использованием неземного кода. Дык, открою тебе страшную тайну - это обычный "сверхуниверсальный код для чайников", который использует те же стандартные библиотеки, только медленнее. Из-за доп.наворотов. Ну т.е. как я и думал, никаких тестов вы не проводили, а простое бла-бла. Спасибо. Ваше мнение о SISS очень ценно. Подобные "тесты" - удел лиц, не способных к логическим рассуждениям. Если я к "стандартной библиотеке" приделаю еще ведро кода - быстрее это работать не будет. По определению. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2021, 20:26 |
|
SSIS. Преобразование данных.
|
|||
---|---|---|---|
#18+
aleks222 msLex пропущено... Ну т.е. как я и думал, никаких тестов вы не проводили, а простое бла-бла. Спасибо. Ваше мнение о SISS очень ценно. Подобные "тесты" - удел лиц, не способных к логическим рассуждениям. Если я к "стандартной библиотеке" приделаю еще ведро кода - быстрее это работать не будет. По определению. Да. Да. Ведь в скуль это узкозаточенный инструмент для преобразования строк, а не многофункциональная СУБД. Там то точно, только и есть, что код вызова "стандартных библиотек". А подобные тесты, это удел нормальных людей, а не балаболов. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2021, 20:31 |
|
SSIS. Преобразование данных.
|
|||
---|---|---|---|
#18+
aleks222 Ващето, если ты не в курсе, "преобразование данных" прямая функция SQL. Это вы где-то прочитали или сами выдумали? Вообще непонятно, что такое "прямая функция". Язык оптимизирован под трансформации? Но это совсем не про SQL. aleks222 Дык, открою тебе страшную тайну - это обычный "сверхуниверсальный код для чайников", который использует те же стандартные библиотеки, только медленнее. Из-за доп.наворотов. Непонятная мне фраза. Что такое стандартные библиотеки (в отношении трансформаций) и почему их использование должно уравнивать скорость? Пример: я складываю 1 млн строк через StringBuilder и через Concat. И то, и другое вроде бы стандартно-библиотечно, но скорости будут сильно отличаться... aleks222 Подобные "тесты" - удел лиц, не способных к логическим рассуждениям. Здесь более уместно смотрелось бы слово "вера". В SSIS относительно легко и бесшовно (по сравнению с SQL Server) можно применять код на C#, и я активно пользуюсь этой возможностью. Подавляющее большинство трансформаций выполняется так гораздо быстрее и эффективнее, чем на SQL. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2021, 20:44 |
|
SSIS. Преобразование данных.
|
|||
---|---|---|---|
#18+
msLex Pavel_124 пропущено... Нашел инструкцию в иннете. Может я чо неправильно делал. Попробую строго по инструкции. что там делать-то source (ваш excel) -> Data Conversion (добавление нового поля с нужной кодировкой) -> destination (ваша таблица, где в VARCHAR поле замаплено поле, добавленное в Data Conversion ) Еще потыкался минут 30 и решил. Я оказывается в задаче назначения не перевязал столбец на преобразованный)). Чтож ) всё опыт) буду знать теперь) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2021, 21:19 |
|
SSIS. Преобразование данных.
|
|||
---|---|---|---|
#18+
Модератор: Началась в колхозе пятница. aleks222 выливает на всех последствия каких-то своих травм, связанных с SSIS (PowerShell наше все, ага), остальные доказывают ему, что он не прав. Ну пустое же, никто никого не перубедит. Может, разойдемся подобру-поздорову? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2021, 21:43 |
|
SSIS. Преобразование данных.
|
|||
---|---|---|---|
#18+
Pavel_124 Подскажите, как решить данную проблему? Попробуйте в источнике Excel задать тип данных. Не юникод, а 1251. Непонятно какие у вас проблемы. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2021, 14:34 |
|
SSIS. Преобразование данных.
|
|||
---|---|---|---|
#18+
SQL2008 Pavel_124 Подскажите, как решить данную проблему? Попробуйте в источнике Excel задать тип данных. Не юникод, а 1251. Непонятно какие у вас проблемы. Глупее совета даже помыслить невозможно. Если у вас есть возможность использовать юникод в источнике данных - безумие конвертировать его в ASCII. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2021, 17:18 |
|
SSIS. Преобразование данных.
|
|||
---|---|---|---|
#18+
aleks222, Покажите пример, короче, чем добавление одного лишнего компонента "Data Conversion". По крайней мере цепочка: Source --> Data Conversion --> Destination понятна все, прозрачна, эффективна, быстра, нативна. Для особо одаренных поясняю слово "нативный", нативный это родной. Excel, SSIS, MSSQL - это все инструменты одного производителя. Ошибки минимальны. Откуда у Вас такая неприязнь к SSIS, непонятно. Возможно из-за отсутствия полноценной русскоязычной литературы. Может поэтому у Вас не было освоить сей чудесный инструмент. Накидал интеграцию за одну минуту. Еще через минуту я уже все тестировал и данные из файла попали в БД. Что может быть короче и понятнее? Приведите Ваш понятный, быстрый, эффективный пример. И тогда мы поймем, что Вы что-то умеете, а не просто сотрясаете воздух эпитетами о "кривом SSIS". ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2021, 16:11 |
|
SSIS. Преобразование данных.
|
|||
---|---|---|---|
#18+
Fox Malder aleks222, Покажите пример, короче, чем добавление одного лишнего компонента "Data Conversion". По крайней мере цепочка: Source --> Data Conversion --> Destination понятна все, прозрачна, эффективна, быстра, нативна. Для особо одаренных поясняю слово "нативный", нативный это родной. Excel, SSIS, MSSQL - это все инструменты одного производителя. Ошибки минимальны. Откуда у Вас такая неприязнь к SSIS, непонятно. Возможно из-за отсутствия полноценной русскоязычной литературы. Может поэтому у Вас не было освоить сей чудесный инструмент. Накидал интеграцию за одну минуту. Еще через минуту я уже все тестировал и данные из файла попали в БД. Что может быть короче и понятнее? Приведите Ваш понятный, быстрый, эффективный пример. И тогда мы поймем, что Вы что-то умеете, а не просто сотрясаете воздух эпитетами о "кривом SSIS". Примером является данная тема. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2021, 16:46 |
|
SSIS. Преобразование данных.
|
|||
---|---|---|---|
#18+
Дайте некоторое время побыть адвокатом дьявола и сотрясти воздух эпитетами о "кривом SSIS". 1. Я работал с проектами SSIS на различных версиях студии от 2012 до 2019, и абсолютно в каждой были глюки гуя. Не счесть раз, когда вместо изменения размера компонента он, словно поросенок Петр, уезжал куда-то влево на Запад. А как студия транслитерирует (например, при копировании) русские буквы... 2. Вы справились с непослушным интерфейсом и делаете коммит. И тут выясняется, что кто-то еще изменил этот пакет и надо смержить изменения. Но сделать это практически невозможно. 3. Старт SSIS проекта (пакета) относительно длителен и трудоемок. В отличие от скриптов SQL, его нельзя просто взять и отослать на компиляцию. Сначала серверу надо запустить хост-процесс issserver.exe, затем загрузить в него проект(пакет), распаковать и распарсить XML содержимое, загрузить библиотеки компонент, провалидировать потроха и соединения... (я мог чего-то не упомянуть, но мне уже лень перечислять и суть должна быть понятна). 4. У вас все загружается для локальной машины, но отказывается работать на сервере? Поздравляю: скорее всего, вы миллионный программист, столкнувшийся с различной битностью драйверов для 32-битной студии и 64-битного сервера. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2021, 17:46 |
|
SSIS. Преобразование данных.
|
|||
---|---|---|---|
#18+
Pavel_124 Я пробовал через задачу SSIS преобразования данных. Там выбираю по нужному полю, чтоб тип данных загружаемых был не юникод а просто строковый. Но ничего не выходит. Перепробовал кучу комбинаций - безрезультатно. Коль скоро задача породила такой холивар. В преобразовании SSIS Unicode -> non-Unicode - есть следующий неочевидный момент. Пусть у вас есть юникодное поле UString (пример). В метаданных SSIS оно имеет тип данных WSTR. Если вы преобразуете тип данных к non-Unicode и сохраните результат в поле UString - в метаданных потока данных оно все равно будет иметь тип WSTR и при сохранении в неюникодное поле назначение - будет ошибка. Чтобы исправить ошибку - в задаче преобразования данных - нужно сохранить результат в новом поле NonUString с типом STR. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2021, 17:50 |
|
|
start [/forum/topic.php?fid=46&msg=40055134&tid=1684919]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
63ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 162ms |
0 / 0 |