Структура экспорта данных или инструменты - PullRequest
0 голосов
/ 18 июня 2010

Есть ли какая-либо структура экспорта данных в .net или что-то в этом роде.Мне нужно создать набор инструментов для экспорта устаревшего и устаревшего / устаревшего приложения в новое разрабатываемое приложение, существует около трех аналогичных систем.Чтобы дать вам представление, у трех из них есть таблица сотрудников. Есть ли для этого какой-нибудь фреймворк или инструмент dsl?Или я должен придумать весь код?Как вы это делаете, когда у вас есть клиенты, которых вы хотите перенести на новый продукт?

Ответы [ 2 ]

1 голос
/ 18 июня 2010

После перехода с инструментов NN на наше приложение я могу сказать, что «простого способа» сделать это не существует.Каждая часть программного обеспечения следует своей собственной внутренней структуре базы данных, и она никогда не будет такой же, какой вы руководствовались при разработке своей собственной.

Учитывая это, сложнейшая задача обычно делится на две части:

1) Определите что и как хранит данныев прежней системе.Вы знаете, что таблица PAXNOST означает Patient_Note_Statistic или тому подобное ... Как только у вас появится представление о том, где находятся данные (в одной или нескольких таблицах) ...

2) Экспортируйте и очистите их: чаще всего с использованиемМастер импорта на сервере SQL приведет к тому, что данные не будут импортированы из-за «ошибок».Усечения данных, значения NULL там, где они не должны быть разрешены, даты с неправильным форматом (например, 01.02.1999) и тому подобное.Проблемы такого рода варьируются от миграции к миграции, но все зависит от ограничений, применяемых старой системой (или нет!).

Если вам удастся выполнить все вышеперечисленное, вы можете импортировать данные в выбранную вами БД (я предполагаю, что это SQL-сервер), а затем, когда все данные находятся в одной и той же БД с минимальным количеством «странных вещей».”, Вы можете перейти к использованию T-SQL (или любого другого более автоматизированного процесса, я использую сценарии T-SQL, которые я сохранил и могу использовать повторно, если потребуется), для перемещения данных из OldTables -> новых таблиц.

Всегда сохранить каждый выполняемый скрипт.Предположим, вам, возможно, придется заново выполнить все это.

Всегда создайте резервную копию вашей базы данных после «важных шагов», чтобы вы могли восстановить -> исправить -> повторить, если нужно.

И помните, что почти всегда придется настраивать некоторые вещи вручную (т.е. обновлять xxx set yyy = '' где zzz = null; и тому подобное, чтобы убедиться, что ограниченияХорошо. Опять же, все зависит от качества исходных данных. Всегда предполагайте худшее.

Хороший текстовый редактор, в котором вы можете выполнять быстрый поиск / регулярное выражение, будьте осторожны с окончаниями строк и разделителями полей, есливы используете смесь Windows / Unix (в случае, если вы используете файлы ASCII, что я часто и делаю), а также использование MS ACCESS или MS EXCEL для быстрого импорта / очистки таблиц никогда не бывает плохим, если у вас есть эти инструменты (Excel не может иметь большечем 65535 строк на листе, помните, что используйте Access).

Объекты передачи данных (DTO) - это хорошо, но в зависимости от задачи иногда оказывается PITA.

ХорошоУдача.

0 голосов
/ 18 июня 2010

, если схемы вашей базы данных остаются прежними, поэтому, делая больше копии устаревшей системы, вы можете использовать Visual Studio, в которой есть пункт меню «Данные», в котором можно запустить сравнение схем или сравнение данных для передачи их с одного сервера на другой.

Grz, Kris.

...