Помогите вытащить данные запросом из DBF'ки

AndreiCC
Дата: 20.01.2009 16:06:04
Привет всем

Пробую создать сервер
EXEC sp_addlinkedserver 
@server = 'serv',
@srvproduct = 'OLE DB Provider for Jet',
@provider = 'Microsoft.Jet.OLEDB.4.0',
@provstr = 'Driver={Microsoft Visual FoxPro Driver};
UID=;SourceDB=C:\;SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Col
late=Russian;Null=No;Deleted=No'
go

А потом пишу запрос
SELECT *
FROM serv...Warehous

И вот что вываливается
.

[OLE/DB provider returned message: Не удается запустить приложение. Системная база данных отсутствует или открыта с монопольным доступом другим пользователем.]
OLE DB error trace [OLE/DB Provider 'Microsoft.Jet.OLEDB.4.0' IDBInitialize::Initialize returned 0x80040e4d: Authentication failed.].
Сообщение 7399, уровень 16, состояние 1, строка 2
OLE DB provider 'Microsoft.Jet.OLEDB.4.0' reported an error. Authentication failed.


Кто-нибудь подскажите чего ему не хватает. файл C:\Warehous.dbf существует и его никто из
процессов не "трогает".
ПС: никогда до этого не работал с dbf. Поэтому не пинайте сильно.
Гавриленко Сергей Алексеевич
Дата: 20.01.2009 16:08:37
На С-диске сервера существует?
Glory
Дата: 20.01.2009 16:10:11
AndreiCC

Кто-нибудь подскажите чего ему не хватает. файл C:\Warehous.dbf существует и его никто из
процессов не "трогает".

и exec sp_tables_ex 'serv' согласен с этим вашим утверждением ?
AndreiCC
Дата: 21.01.2009 09:46:41
Glory

и exec sp_tables_ex 'serv' согласен с этим вашим утверждением ?


Нет. Не согласен.

Вот что вывалил

[quote .]
[OLE/DB provider returned message: Не удается запустить приложение. Системная база данных отсутствует или открыта с монопольным доступом другим пользователем.]
OLE DB error trace [OLE/DB Provider 'Microsoft.Jet.OLEDB.4.0' IDBInitialize::Initialize returned 0x80040e4d: Authentication failed.].
Сообщение 7399, уровень 16, состояние 1, процедура sp_tables_ex, строка 13
OLE DB provider 'Microsoft.Jet.OLEDB.4.0' reported an error. Authentication failed.
[quote]

:(
Glory
Дата: 21.01.2009 10:20:06
Initialize returned 0x80040e4d: Authentication failed. - Под какой учетной записью работает ваш mssql ?
AndreiCC
Дата: 21.01.2009 12:37:18
Нашел косяк - я в соединении к удаленному серверу пытался открыть локальную Dbf'ку.

Исправил ситуацию - все равно ошибка, но уже другая

.


[OLE/DB provider returned message: Невозможно найти устанавливаемый ISAM.]
OLE DB error trace [OLE/DB Provider 'Microsoft.Jet.OLEDB.4.0' IDBInitialize::Initialize returned 0x80004005: ].
Сообщение 7399, уровень 16, состояние 1, строка 1
OLE DB provider 'Microsoft.Jet.OLEDB.4.0' reported an error.

Glory
Дата: 21.01.2009 12:38:50
OLE/DB provider returned message: Невозможно найти устанавливаемый ISAM. - у вас не установлены какие-то драйвера. Или вы неправильно указываете их имена.
AndreiCC
Дата: 21.01.2009 12:42:46
А вот эта тема у меня заработала. Не понимаю...

SELECT *
FROM OPENROWSET
('MSDASQL',
'Driver={Microsoft dBase Driver (*.dbf)};SourceDB=c:\;DefaultDir=c:\;',
'SELECT * FROM Warehous') tmp
SuperJur
Дата: 21.01.2009 12:46:04
Непонимание того, что вы делаете, но это работает, первый шаг к профессионализму.