Преобразование типа даты FoxPro в SQL Server 2005 DateTime с использованием служб SSIS - PullRequest
0 голосов
/ 29 декабря 2010

При использовании SSIS в SQL Server 2005 для преобразования базы данных FoxPro в базу данных SQL Server, если данная база данных FoxPro имеет тип даты, SSIS предполагает, что это целочисленный тип.Единственный способ преобразовать его в тип dateTime - вручную выбрать этот тип.Однако это нецелесообразно для более чем 100 таблиц.

Таким образом, я использовал обходной путь, в котором я использую DTS на SQL Server 2000, который преобразует его в smallDateTime, затем создает резервную копию, а затемвосстановление в SQL Server 2005. Этот обходной путь начинает немного раздражать.

Итак, мой вопрос: есть ли способ настроить SSIS, чтобы при каждом обнаружении типа даты автоматически предполагать, что его следует преобразовать вdateTime в SQL Server и применить это правило по всем направлениям?

Обновление

Если конкретно, если я использую мастер импорта / экспорта в SSIS, я получаюследующая ошибка:

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

За ним следует список столбцов даты данной таблицы.

Если я вручную установлю для каждого из них значение dateTime, оно будет импортировано в порядке.Но я не хочу делать это за сто столов.

1 Ответ

1 голос
/ 30 декабря 2010

Вы можете создать небольшую программу FoxPro, которая будет циклически перебирать ваш список таблиц и записывать оператор SQL INSERT INTO для каждой записи в файл .sql, который затем можно будет открыть или вставить в SQL Management Studio и выполнить.Затем вы можете управлять форматами даты, которые будут работать с полями типа даты SQL Server.

Нечто подобное можно было бы сделать в c #.

...