Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 DBF-FoxPro  [new]
Hovhannes
Member

Откуда:
Сообщений: 22
Есть DBF(File Type - FoxPro). Как получить данные из DBF-файла в таблицу MsSQL или как все это реализовать с помощью Python(Pandas) или же сделать конвертацию. Например convert dbf to csv в Pandas.
2 июл 18, 13:25    [21536561]     Ответить | Цитировать Сообщить модератору
 Re: DBF-FoxPro  [new]
L_argo
Member

Откуда:
Сообщений: 1209
Если разово, то можно попробовать импортом.
Если регулярно, то Linked Server.
Но нужно подобрать драйвер, т.к. с DBF с этим вечный гемор.
2 июл 18, 13:52    [21536668]     Ответить | Цитировать Сообщить модератору
 Re: DBF-FoxPro  [new]
Hovhannes
Member

Откуда:
Сообщений: 22
L_argo,

Спасибо
2 июл 18, 14:38    [21536817]     Ответить | Цитировать Сообщить модератору
 Re: DBF-FoxPro  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7752
Hovhannes,

Как вариант открывать файл на локальном компьютере и передавать данные на сервер. Но для этого может потребоваться установка Visual Foxpro OLEDB, существует только 32 бит.

Можно освоить Integration Services и создать SSIS пакет для импорта.
2 июл 18, 15:11    [21536941]     Ответить | Цитировать Сообщить модератору
 Re: DBF-FoxPro  [new]
Hovhannes
Member

Откуда:
Сообщений: 22
Владислав Колосов,

спасибо
3 июл 18, 10:30    [21538560]     Ответить | Цитировать Сообщить модератору
 Re: DBF-FoxPro  [new]
rozen
Member

Откуда:
Сообщений: 41
Если сервер 64-разрядный, то сначала надо найти, скачать с Microsoft и установить на сервер Microsoft Access database engine (2010)

Потом выполнить
exec sp_configure 'show advanced optons',1
reconfigure
go

exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
go

exec master.dbo.sp_MSet_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1
go
exec master.dbo.sp_MSet_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1
go



После этой магии можно обращаться к DBF-файлам как к таблицам через :
OPENROWSET('Microsoft.ACE.OLEDB.12.0','dBase IV;Database=dbf_files_path','select * from dbf_file_name_without_extension')

P.S. Мог где-то опечататься, перенабирал руками с другого компьютера.
3 июл 18, 14:17    [21539345]     Ответить | Цитировать Сообщить модератору
 Re: DBF-FoxPro  [new]
Hovhannes
Member

Откуда:
Сообщений: 22
rozen,

А если тип файла foxpro а не dbase IV
3 июл 18, 15:43    [21539608]     Ответить | Цитировать Сообщить модератору
 Re: DBF-FoxPro  [new]
Hovhannes
Member

Откуда:
Сообщений: 22
rozen,

Вот так ?

select * from openrowset('MSDASQL',
'DSN=Visual FoxPro Tables;
SourceDB= \\MYSERVER\FOLDER\;
SourceType=DBF',
'select * from dbfTable')
3 июл 18, 15:46    [21539624]     Ответить | Цитировать Сообщить модератору
 Re: DBF-FoxPro  [new]
Hovhannes
Member

Откуда:
Сообщений: 22
Hovhannes,
После магии вот такой message

Msg 15123, Level 16, State 1, Procedure sp_configure, Line 62
The configuration option 'show advanced optons' does not exist, or it may be an advanced option.

Configuration option 'Ad Hoc Distributed Queries' changed from 1 to 1. Run the RECONFIGURE statement to install.
Msg 2812, Level 16, State 62, Line 9
Could not find stored procedure 'master.dbo.sp_MSet_oledb_prop'.
Msg 2812, Level 16, State 62, Line 11
Could not find stored procedure 'master.dbo.sp_MSet_oledb_prop'.
3 июл 18, 16:23    [21539781]     Ответить | Цитировать Сообщить модератору
 Re: DBF-FoxPro  [new]
Hovhannes
Member

Откуда:
Сообщений: 22
rozen,

После магии вот такой message

Msg 15123, Level 16, State 1, Procedure sp_configure, Line 62
The configuration option 'show advanced optons' does not exist, or it may be an advanced option.
Configuration option 'Ad Hoc Distributed Queries' changed from 1 to 1. Run the RECONFIGURE statement to install.
Msg 2812, Level 16, State 62, Line 9
Could not find stored procedure 'master.dbo.sp_MSet_oledb_prop'.
Msg 2812, Level 16, State 62, Line 11
Could not find stored procedure 'master.dbo.sp_MSet_oledb_prop'.
3 июл 18, 16:27    [21539797]     Ответить | Цитировать Сообщить модератору
 Re: DBF-FoxPro  [new]
Hovhannes
Member

Откуда:
Сообщений: 22
rozen,

После магии вот такой message

Msg 15123, Level 16, State 1, Procedure sp_configure, Line 62
The configuration option 'show advanced optons' does not exist, or it may be an advanced option.

Configuration option 'Ad Hoc Distributed Queries' changed from 1 to 1. Run the RECONFIGURE statement to install.
Msg 2812, Level 16, State 62, Line 9
Could not find stored procedure 'master.dbo.sp_MSet_oledb_prop'.
Msg 2812, Level 16, State 62, Line 11
Could not find stored procedure 'master.dbo.sp_MSet_oledb_prop'.
3 июл 18, 16:28    [21539799]     Ответить | Цитировать Сообщить модератору
 Re: DBF-FoxPro  [new]
rozen
Member

Откуда:
Сообщений: 41
Hovhannes
rozen,

А если тип файла foxpro а не dbase IV

У меня работает больше 10 лет с файлами от DOS-овского FoxPro

Причем, их можно даже менять (insert, update, delete)

Думаю, что подобрав параметры можно работать с любым dbf-файлом, котоый может открыть 64-разрядный Access 2010
4 июл 18, 11:14    [21541840]     Ответить | Цитировать Сообщить модератору
 Re: DBF-FoxPro  [new]
rozen
Member

Откуда:
Сообщений: 41
Hovhannes
rozen,

После магии вот такой message



Говорю, что мог опечататься.

Видимо так
exec sp_configure 'show advanced options',1
reconfigure
go

exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
go

exec master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1
go
exec master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1
go
4 июл 18, 11:18    [21541861]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить