Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Присоединить dbf файлы.  [new]
Изерлонер
Member

Откуда: СФО
Сообщений: 1269
В моей базе данных необходимо использовать файлы из старой базы данных бухгалтерии написанной в FoxPro под ДОС еще в девяностые годы.
Пытаюсь создать связанный сервер но ничего путнего не выходит (вообще я чайник в этом и по большому счету не понимаю что делаю, пытаюсь делать что-то по рекомендациям форумчан)
Первая попытка была следующим образом:
Exec sp_addlinkedserver
'DBF',
'Jet 4.0',
'Microsoft.Jet.OLEDB.4.0',
'd:\',
Null,
'dBase4'


Сервер был создан удачно, однако при работе с таблицами через него все происходит крайне медленно, запрос
SELECT * FROM OPENQUERY (DBF, 'SELECT * FROM WRK4')

проходит со скоростью порядка 100 записей в минуту :( Ну очень медленно.
Попытался поставить VFP драйвер отсюда:
[url=]http://www.microsoft.com/en-us/download/details.aspx?id=14839[/url]

Используя пример из FAQ попытался создать связанный сервер
EXEC sp_addlinkedserver 
        @server = 'DBF_ODBC', 
        @provider = 'MSDASQL', 
        @srvproduct = '',
        @provstr = 'Driver={Microsoft Visual FoxPro Driver}; 
UID=;SourceDB=C:\;SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Col
late=Russian;Null=No;Deleted=No'

EXEC  sp_addlinkedserver 
        @server = 'DBF_OLEDB', 
        @provider = 'VFPOLEDB',
        @srvproduct = '',
        @datasrc ='D:\Работа\Вик\АДП\',
        @provstr = 'Collating Sequence=RUSSIAN'


Сервера появились, однако таблиц в них нет. Выдается ошибка (на картинке).

Прошу помощи, как возможно присоединится к этим таблицам dbf? Это не разовая задача, присоединятся надо на постоянно. Периодически файлы будут обновляться и в базе необходимо иметь актуальные на текущий момент данные. Однако мне самому не требуется как-то менять эти файлы. Это файлы бухгалтерской базы данных, которая до сих пор используется. Я просто каждый раз по необходимости скидываю эти файлы себе на флешку (сети с бухгалтерией нет) и затем себе на комп в папку с базой данных. Затем просто использую данные их таблиц в своих таблицах и формах.

Вот один из файлов dbf над которыми бьюсь:
[url=]http://files.mail.ru/ITWDM1[/url]

Работаю в SQL Server 2008 R2 плюс Access 2003 АДП.
Не специалист, SQL Server, как и DML собственно только пытаюсь освоить, а с программированием вообще тяжело, так что по возможности прошу терминами не грузить.

К сообщению приложен файл. Размер - 66Kb
7 янв 13, 09:27    [13730882]     Ответить | Цитировать Сообщить модератору
 Re: Присоединить dbf файлы.  [new]
Glory
Member

Откуда:
Сообщений: 104751
Что то у вас путь к файлам каждый раз разный. Вы не знаете, где лежать ваши dbf-ы ?
7 янв 13, 10:42    [13730947]     Ответить | Цитировать Сообщить модератору
 Re: Присоединить dbf файлы.  [new]
Изерлонер
Member

Откуда: СФО
Сообщений: 1269
Путь один. Это при вставке на форум напутал.
7 янв 13, 10:54    [13730956]     Ответить | Цитировать Сообщить модератору
 Re: Присоединить dbf файлы.  [new]
Изерлонер
Member

Откуда: СФО
Сообщений: 1269
Тот что на скриншоте верный.
7 янв 13, 10:56    [13730958]     Ответить | Цитировать Сообщить модератору
 Re: Присоединить dbf файлы.  [new]
Glory
Member

Откуда:
Сообщений: 104751
Изерлонер
Тот что на скриншоте верный.

И там есть файлы ? Как вы проверили, что они видны серверу ?
7 янв 13, 10:59    [13730961]     Ответить | Цитировать Сообщить модератору
 Re: Присоединить dbf файлы.  [new]
Изерлонер
Member

Откуда: СФО
Сообщений: 1269
Ну так первый же вариант сработал. И все файлы появились в сиквеле. Но работа с ними чрезвычайно медленна.
7 янв 13, 11:08    [13730975]     Ответить | Цитировать Сообщить модератору
 Re: Присоединить dbf файлы.  [new]
Glory
Member

Откуда:
Сообщений: 104751
Изерлонер
Ну так первый же вариант сработал. И все файлы появились в сиквеле. Но работа с ними чрезвычайно медленна.

Ну так в 1ом варианте указан d:\
7 янв 13, 11:10    [13730979]     Ответить | Цитировать Сообщить модератору
 Re: Присоединить dbf файлы.  [new]
Изерлонер
Member

Откуда: СФО
Сообщений: 1269
Там верный путь был прописан. На форум писал вручную с образца, что бы быстрее не стал писать весь путь.
7 янв 13, 11:13    [13730985]     Ответить | Цитировать Сообщить модератору
 Re: Присоединить dbf файлы.  [new]
Glory
Member

Откуда:
Сообщений: 104751
Изерлонер
Там верный путь был прописан. На форум писал вручную с образца, что бы быстрее не стал писать весь путь.

Какой весь ? У вас в 4х примерах 4 разных пути

Еще раз - "И там есть файлы ? Как вы проверили, что они видны серверу ? "
7 янв 13, 11:15    [13730989]     Ответить | Цитировать Сообщить модератору
 Re: Присоединить dbf файлы.  [new]
Изерлонер
Member

Откуда: СФО
Сообщений: 1269


К сообщению приложен файл. Размер - 83Kb
7 янв 13, 11:39    [13731033]     Ответить | Цитировать Сообщить модератору
 Re: Присоединить dbf файлы.  [new]
Изерлонер
Member

Откуда: СФО
Сообщений: 1269
Jet 4.0 dbase IV видит, но работает крайне медленно.
VFP (VFPOLEDB) не видит и не работает.
7 янв 13, 11:45    [13731044]     Ответить | Цитировать Сообщить модератору
 Re: Присоединить dbf файлы.  [new]
Программист-Любитель
Member

Откуда:
Сообщений: 16839
ТС, ваш файл у меня выгнался селектом на экран за 9 секунд. См. топик в аксесе.
7 янв 13, 12:20    [13731083]     Ответить | Цитировать Сообщить модератору
 Re: Присоединить dbf файлы.  [new]
qwerty112
Guest
Изерлонер
Jet 4.0 dbase IV видит, но работает крайне медленно.
VFP (VFPOLEDB) не видит и не работает.

c VFPOLEDB - создаётся
EXEC master.dbo.sp_addlinkedserver 
@server = N'MYDBF', 
@srvproduct=N'VFPOLEDB', 
@provider=N'VFPOLEDB', 
@datasrc=N'E:\123\',
@provstr = 'Collating Sequence=RUSSIAN'--'CODEPAGE=866'
go

sp_addlinkedsrvlogin 'MYDBF', FALSE, NULL, NULL, NULL
go 

select * from MYDBF...WRK3

только с кодировкой "беда" ...
kod                                     name                                     kom                                     massa                                   em   lon   sort                                    ves   sn    kg                                      partmax                                 cr                                      nom                                     zapas
--------------------------------------- ---------------------------------------- --------------------------------------- --------------------------------------- ---- ----- --------------------------------------- ----- ----- --------------------------------------- --------------------------------------- --------------------------------------- --------------------------------------- ---------------------------------------
-1                                      ᠫ줮                                   0                                       0                                            0     1145                                    0     0     0                                       0                                       0                                       0                                       0.000
1                                       ЎгвЁ«®ўл© ндЁа(гЄбгб.ЄЁб«®в )            1                                       0                                       ЄЈ   0     3158                                    1     1     9                                       1                                       0                                       0                                       0.000
3                                        аЈ®­                                    16                                      0                                       ЄЈ   0     3145                                    0     1     9                                       23                                      0                                       0                                       0.000

+ @@version
Microsoft SQL Server 2005 - 9.00.1399.06 (Intel X86) 
	Oct 14 2005 00:33:37 
	Copyright (c) 1988-2005 Microsoft Corporation
	Developer Edition on Windows NT 5.1 (Build 2600: Service Pack 3)
7 янв 13, 12:44    [13731137]     Ответить | Цитировать Сообщить модератору
 Re: Присоединить dbf файлы.  [new]
Anatoly Podgoretsky
Member

Откуда:
Сообщений: 62908

А какая реально кодировка в файле?

Posted via ActualForum NNTP Server 1.5

7 янв 13, 12:59    [13731168]     Ответить | Цитировать Сообщить модератору
 Re: Присоединить dbf файлы.  [new]
Anatoly Podgoretsky
Member

Откуда:
Сообщений: 62908
http://support.microsoft.com/kb/814398
7 янв 13, 13:09    [13731194]     Ответить | Цитировать Сообщить модератору
 Re: Присоединить dbf файлы.  [new]
Изерлонер
Member

Откуда: СФО
Сообщений: 1269
Anatoly Podgoretsky
А какая реально кодировка в файле?


точно не знаю. Файл из базы данных работающей под ДОС.
Есть возможность проверить, только до компа доберусь.
7 янв 13, 13:20    [13731227]     Ответить | Цитировать Сообщить модератору
 Re: Присоединить dbf файлы.  [new]
qwerty112
Guest
Anatoly Podgoretsky
А какая реально кодировка в файле?


реальная - cp866,
а "цепляется" с win-1251
7 янв 13, 13:25    [13731242]     Ответить | Цитировать Сообщить модератору
 Re: Присоединить dbf файлы.  [new]
Anatoly Podgoretsky
Member

Откуда:
Сообщений: 62908
qwerty112
Anatoly Podgoretsky
А какая реально кодировка в файле?


реальная - cp866,
а "цепляется" с win-1251

Ну и чего ты хочешь?
7 янв 13, 13:54    [13731319]     Ответить | Цитировать Сообщить модератору
 Re: Присоединить dbf файлы.  [new]
qwerty112
Guest
Anatoly Podgoretsky
qwerty112
пропущено...

реальная - cp866,
а "цепляется" с win-1251

Ну и чего ты хочешь?

дядь Толя,

идти отдохни :)
7 янв 13, 14:02    [13731345]     Ответить | Цитировать Сообщить модератору
 Re: Присоединить dbf файлы.  [new]
Изерлонер
Member

Откуда: СФО
Сообщений: 1269
qwerty112
c VFPOLEDB - создаётся

по Вашему скрипту создается, но далеко дело не пошло:

К сообщению приложен файл. Размер - 62Kb
7 янв 13, 16:27    [13731910]     Ответить | Цитировать Сообщить модератору
 Re: Присоединить dbf файлы.  [new]
Программист-Любитель
Member

Откуда:
Сообщений: 16839
Попробуйте перечислять столбцы явно начиная с первого, пока не поймаете столбец, на котором валится.
SELECT * FROM OPENQUERY (<LinkedServer>, 'SELECT KOD, [Name], ... FROM wrk3')

Но все равно секунды на маломощном ноутбуке против ваших минут на выполнение селекта - надо копать вглубь драйверов и т.п.
7 янв 13, 16:34    [13731942]     Ответить | Цитировать Сообщить модератору
 Re: Присоединить dbf файлы.  [new]
Изерлонер
Member

Откуда: СФО
Сообщений: 1269
Программист-Любитель,

ладно бы еще минут, а то ведь часов - на проведение всего запроса.
7 янв 13, 16:40    [13731969]     Ответить | Цитировать Сообщить модератору
 Re: Присоединить dbf файлы.  [new]
Изерлонер
Member

Откуда: СФО
Сообщений: 1269
А как остановить выполняющийся запрос, без того что бы полностью окно запроса закрывать?
7 янв 13, 16:41    [13731974]     Ответить | Цитировать Сообщить модератору
 Re: Присоединить dbf файлы.  [new]
Программист-Любитель
Member

Откуда:
Сообщений: 16839
Нажать кнопку стоп на тулбаре.
7 янв 13, 16:43    [13731978]     Ответить | Цитировать Сообщить модератору
 Re: Присоединить dbf файлы.  [new]
Изерлонер
Member

Откуда: СФО
Сообщений: 1269
Программист-Любитель
Попробуйте перечислять столбцы явно начиная с первого, пока не поймаете столбец, на котором валится.

с этим сервером на всех по отдельности валится.
7 янв 13, 16:45    [13731982]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить