Перенос файлов Fox Pro DBF в SQL Server 2012 x64

У меня есть от 80 до 100 файлов базы данных Fox Pro DBF, которые я хочу перенести на MSSQL Server 2012 x64.

Поскольку слишком много баз данных DBF, я ищу автоматический/не ручной способ перемещения всех данных, содержащихся в этих файлах DBF, в таблицы базы данных MSSQL Server. Одна отдельная таблица для каждого файла DBF.

Я пробовал следующий код:

SELECT * 
FROM OPENROWSET('MSDASQL', 'Driver=Microsoft Visual FoxPro Driver;
SourceDB=F:\SomeDBFPath;
SourceType=DBF',
'SELECT  * FROM someDBFFile')

для просмотра/исследования данных одного DBF, но появляются следующие сообщения об ошибках:

Поставщик OLE DB "MSDASQL" для связанного сервера "(null)" возвращает ошибку.
Невозможно инициализировать объект источника данных поставщика OLE DB "MSDASQL" для связанного сервера "(null)"

Я не заинтересован в использовании внешнего программного обеспечения, такого как конвертер DBF или аналогичные инструменты.

На данный момент я установил файл AccessDatabaseEngine_X64, расположенный по адресу http://www.microsoft.com/en-us/download/details.aspx?id=13255 из-за предыдущих рекомендаций, которые не увенчались успехом.

Заранее спасибо.


person Transfinito    schedule 08.10.2013    source источник


Ответы (1)


У вас есть доступ к Visual FoxPro? Если это так, вы можете использовать меню по умолчанию Инструменты -> Мастера -> Увеличение размера.

Сначала заходим в Панель управления, Администрирование. Под этим находятся источники данных ODBC (должна быть 32-битная версия). Войдите в это, а затем перейдите на вкладку «Системный DSN» и нажмите кнопку «Добавить» справа. Затем вам будет предложено «назвать» соединение. Для ухмылок что-то вроде "UpsizeMyData". Затем он предложит вам информацию о подключении к базе данных, к которой вы пытаетесь подключиться, имя пользователя/пароль для подключения и т. д. Пройдите и создайте информацию о подключении ODBC и убедитесь, что «Проверка подключения» в конце прошла успешно.

Как только это будет сделано, войдите в VFP. Из приведенных выше шагов меню откроется диалоговое окно для передачи базы данных. Вам будет предложено указать базу данных, размер которой вы хотите увеличить... выберите ее в диалоговом окне «Получить файл». После этого он предложит вам информацию о соединении, в списке должно быть только что созданное соединение ODBC. Выберите это, затем «Далее». Затем он запросит у вас пароль SQL для запуска соединения.

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

Следующий диалог покажет вам каждую из выбранных вами таблиц и позволит вам подтвердить тип данных из таблицы VFP для соответствующего типа данных столбца при передаче в SQL. Вы можете попробовать, отпустив значения по умолчанию и попробовать. Нажмите "Далее".

Наконец, он спросит вас, до какой базы данных вы хотите увеличить размер. Вы можете выбрать существующую базу данных ИЛИ добавить новую (может быть, это ваш выбор в первый раз, чтобы увидеть, как идут дела).

person DRapp    schedule 08.10.2013
comment
Существует ли Visual FoxPro для Windows x64? - person Transfinito; 08.10.2013
comment
@user80024 user80024, нет, только 32-разрядная версия, но вы все равно сможете запустить ее для увеличения размера базы данных sql, даже если база данных sql 64-разрядная. - person DRapp; 09.10.2013
comment
Можете ли вы дать мне более подробную информацию в связи с вашим предложением? - person Transfinito; 09.10.2013
comment
@ user80024, исправлен ответ, чтобы как можно лучше показать шаги. - person DRapp; 09.10.2013