SSIS Data Flow меняет порядок записей - PullRequest
0 голосов
/ 14 мая 2009

Мне показалось, что я задавал подобный вопрос в Порядок SQL и левое внешнее объединение не имеют правильного порядка , но это немного отличается. Я получаю данные из другой базы данных SQL-Server 2005, используя SSIS и стандартный поток данных. Записи, которые я получаю, находятся в другом порядке, чем в исходной таблице (на самом деле это представление). В старом DTS порядок не меняется.

Нет порядка в исходных или целевых таблицах или представлениях, и, как правило, я бы подумал, что если бы порядок был важным, то он был бы указан. Возможно, мне придется попросить кого-то указать порядок, и мы можем продолжить это, но мы работаем с историческими файлами форм, и если порядок атрибутов меняется, то формы указывают на неправильные данные.

Есть ли причина, по которой данные изменяют порядок при импорте? Есть ли обходной путь?

Вот причина, по которой заказ важен. Это для картографического приложения, и атрибуты и формы должны совпадать. Если порядок изменится, то элементы не будут соответствовать должным образом. К сожалению, я не могу определить какой-либо порядок данных, и я подозреваю, что предыдущий кодер принял последовательный заказ, и это было все, что было важно. Порядок, в котором используется SSIS, не является тем же, и он никогда не устанавливается явно.

1 Ответ

4 голосов
/ 15 мая 2009

Порядок записей, возвращаемых оператором SQL server SELECT, никогда не гарантируется без явного предложения ORDER BY. Вам просто повезло, что набор данных, выбранный DTS, возвращал строки в нужном вам порядке.

Это вдвойне верно, если источником является представление, поскольку, как вы говорите, представления не имеют неявного порядка. Даже добавление TOP 100 PERCENT ... ORDER BY не гарантирует порядок, в котором фактически возвращается набор результатов (см. Примечание вверху книги в Интернете запись).

Единственное исправление заключается в добавлении предложения ORDER BY к вашему запросу в потоке данных.

Из вашего вопроса не совсем ясно, есть ли у вас группа столбцов в представлении, которое гарантированно возвратит необходимый вам порядок - если это так, обновите вопрос, добавив некоторые дополнительные сведения об исходных данных, поскольку несколько способов подойти к проблеме.

...