Как перейти от файлов DBF к SQL Server 2008?

У меня есть приложение, которое использует файлы DBF, и мне нужно импортировать их в SQL Server 2008. Однако мне также нужно изменить некоторые данные по пути, и некоторые столбцы будут добавлены в таблицы, а другие будут объявлены устаревшими.

Пока я использую DBF -> Access -> MS Migration Assistant -> SQL Server 2008. Но я думаю, что должен быть лучший способ справиться с этим. Я бы хотел отказаться от Помощника по миграции, потому что он не позволяет вам изменять данные при их импорте.


person Unknown Coder    schedule 25.06.2010    source источник


Ответы (4)


видимо вам не повезло :-(

См. это примечание:

Примечание. В SQL Server 2005 мастер импорта и экспорта SQL Server не поддерживает импорт или экспорт в файлы dBASE или другие файлы DBF. Чтобы импортировать файлы DBF, сначала используйте Microsoft Access или Microsoft Excel для импорта данных из файлов DBF в базу данных Access или электронные таблицы Excel. Затем используйте мастер импорта и экспорта SQL Server, чтобы импортировать базу данных Access или Электронные таблицы Excel, содержащие данные из файлов DBF.

Электронная документация по Microsoft SQL Server 2005, Выбор источника данных (мастер импорта и экспорта)

Но, может быть, этот другой вопрос Stackoverflow может помочь?

Как импортировать файл DBF в SQL Server

Или ознакомьтесь с некоторыми коммерческими и/или условно-бесплатными инструментами для работы.

person marc_s    schedule 25.06.2010

Мне удалось импортировать DBF в SQL Server 2008, используя информацию по этой ссылке.

В частности я:

  1. Использовал мастер импорта/экспорта, выбрав "Microsoft Office 12.0 Access Database Engine OLE DB Pro..." в качестве источника данных в раскрывающемся списке.
  2. Открыто диалоговое окно «Свойства» для подключения Access OLE DB.
  3. В качестве источника данных указана папка, содержащая файлы DBF.
  4. Установите для расширенных свойств значение «dBASE 5.0».

Затем я установил пункт назначения в качестве своего локального сервера sql и, нажав кнопку «Далее», смог увидеть каждый файл DBF в папке как возможную таблицу/представление для импорта. Щелчок по ним создал одноименную таблицу в указанной базе данных.

person mindless.panda    schedule 07.07.2011
comment
У меня возникают проблемы с целевой таблицей... как узнать, какое имя столбца должно быть в вашей таблице? - person guiomie; 21.12.2013
comment
Это отлично сработало для меня. Я сохранил Access и старые файлы MDB формата 97-2003 только для того, чтобы обойти эту проблему импорта в SQL Server, и теперь я могу, наконец, выгрузить их. - person Gary.Ray; 25.06.2014

Поскольку вы, очевидно, просто хотите импортировать данные в SQL Server, я бы просто использовал Import and Export Data SQL Server, который будет работать с любым источником данных, для которого у вас есть драйвер ODBC.

person Jerry Coffin    schedule 25.06.2010

Из электронной документации видно, что, хотя мастер импорта/экспорта не позволяет использовать файл .dbf, службы SSIS можно настроить на его использование:

Настройка диспетчера соединений для подключения к dBASE или другому файлу DBF Добавьте в пакет новый диспетчер соединений OLE DB. Дополнительные сведения см. в разделе Как добавить или удалить диспетчер соединений в пакете.

На странице «Подключение» диалогового окна «Диспетчер подключений» выберите «Собственный поставщик OLE DB\Microsoft Jet 4.0 OLE DB» в качестве поставщика.

При работе с файлами DBF папка представляет базу данных, а отдельные файлы DBF представляют собой таблицы. Поэтому текстовое поле Имя файла базы данных должно содержать путь к папке, в которой находится файл DBF, и не должно включать само имя файла. Вы можете ввести или вставить путь к папке или использовать кнопку «Обзор», чтобы выбрать файл DBF, а затем удалить имя файла из конца пути к папке.

На странице All диалогового окна Connection Manager введите dBASE III, dBASE IV или dBASE 5.0 в качестве значения Расширенных свойств.

Щелкните Test Connection, чтобы проверить введенные вами значения. Вы должны увидеть сообщение «Проверка соединения прошла успешно». Нажмите OK, чтобы закрыть окно сообщения.

Нажмите OK, чтобы сохранить конфигурацию диспетчера соединений.

Чтобы использовать диспетчер соединений в потоке данных пакета, выберите источник или место назначения OLE DB и настройте его для использования диспетчера соединений, созданного с помощью предыдущих шагов.

person HLGEM    schedule 20.09.2011