[MSSQL] OPERROWSET w MSSQL2000 i 2005

0

Witam,
uruchamiam poniższy kod

SELECT * FROM OPENROWSET(
  'MSDASQL',
  'Driver={Microsoft dBase Driver (*.dbf)};DBQ=D:\',
  'Select * from import')

i problem powstaje kiedy próbuje to uruchomić na MSSQL2005 otóż dostaję oto taki komunikat

OLE DB provider "MSDASQL" for linked server "(null)" returned message "[Microsoft][Sterownik ODBC dBase ] '(nieznane)' nie jest poprawną ścieżką. Sprawdź, czy nazwa ścieżki jest wprowadzona poprawnie oraz czy istnieje połączenie z serwerem, na którym jest przechowywany plik.".
Msg 7303, Level 16, State 1, Line 5
Cannot initialize the data source object of OLE DB provider "MSDASQL" for linked server "(null)".

dziwi mnie to ponieważ to samo zapytanie na MSSQL2000 działa poprawnie.

Jak mogę to zapytanie uruchomić na MSSQL2005 ???

Pozdrawiam

--edit
zaznaczam, że chiałbym wyświetlić plik dbf w miejscu d:\import.dbf

0

Wykonaj procedurę sp_helplinkedsrvlogin i sprawdź czy masz wprowadzoną poprawną konfiguracje linked server.

0

otrzymałem taka odpowiedź

SQL00 | NULL | 1 | NULL
0

W takim razie musisz sobie zarejestrować serwer :)

EXEC sp_addlinkedserver 
   @server = 'MSDASQL', 
   @srvproduct = '',
   @provider = 'MSDASQL', 
   @datasrc = 'LocalServer'
GO
0

Niestety to nic nie dało :(

0

Podaj wynik sp_helplinkedsrvlogin
oraz komunikat błędu przy openrowset (zapewne zmienił się kod błędu).

0

wynik sp_helplinksrvlogin

MSDASQL | NULL | 1 | NULL
SQL00   | NULL | 1 | NULL

komunikat błędu OPENROWSET

OLE DB provider "MSDASQL" for linked server "(null)" returned message "[Microsoft][Sterownik ODBC dBase ] Zewnętrzna tabela nie ma oczekiwanego formatu.".
Msg 7350, Level 16, State 2, Line 1
Cannot get the column information from OLE DB provider "MSDASQL" for linked server "(null)".
0

Komunikat wyraźnie mówi, że "Zewnętrzna tabela nie ma oczekiwanego formatu."

U mnie taki komunikat wywalało gdy w katalogu w którym trzymałem tabelę nie miałem wszystkich plików. Np. w przypadku bazy Paradox primary index jest przechowywany w pliku z rozszerzeniem *.PX, a u mnie go brakowało. Po przekopiowaniu potrzebnych plików wszystko zaczęło działać.

0

Wszystko musi być ok, ponieważ jak próbuje wykonać to zapytanie na SQL2000 w tym samym miejscu z tą samą zawartością dział pięknie a na 2005 ni słychu i ni widu tabeli tylko jest ten komunikat :(

0

Nie potrafię niestety Ci bardziej pomóc. Mogę jedynie powiedzieć, że u mnie wystarczyło uruchomić query ad-hoc i dodać linked server za pomocą sp_addlinkedserver, to wystarczyło. Spróbuj może przenieść konfigurację MSDASQL z 2000 na 2005. Tabelka sys.servers

1 użytkowników online, w tym zalogowanych: 0, gości: 1