Jak czytać imodyfikować pliki excela z poziomu SQL? Można to zrobić za pomocą tzw. linked servers. Przejdź do Server Objects i utwórz nowy linked server:
Wypełnij okienkowłaściwości serwera:
Nazwa widoczna u gory pozwoli następnie korzystać z danych zapisanych w pliku Excel.
Provider określa bibliotekę / sterownik, za pomocą którego będziesz sięgać do danych
Data source wskazuje na ścieżkę pliku Excel
Provider string zależy od wersji porgamu Excel. Dla Excela 2003 jest to Excel 8.0
Aby skorzystać z danych znajdujących się w pierwszym arkuszu skoroszytu (w wersji angielskiej excela) należy napisać:
SELECT * FROM IMPORT…Sheet1$
Do tej tabeli możesz także wstawiać dane wykorzystując zwykły INSERT. Działa także zwykły UPDATE. Niestety nie można usuwać rekordów.
Komentarze:
A jak to zrobić w sql 2008 gdzie nie ma Microsoft jet 4.0?
Prawdopodobnie masz SQL w wersji 64-bitowej. MS Jet 4.0 nie będzie już rozwijany na tę platformę:
http://blogs.msdn.com/b/psssql/archive/2010/01/21/how-to-get-a-x64-version-of-jet.aspxMożna spróbować nowych sterowników x64 dostępnych tutaj:
http://www.microsoft.com/en-us/download/details.aspx?id=13255
To link do artykułu na SQL Server Central o podobnej tematyce. Chodzi o paczkę SSIS eksportującą dane do Excela 32 bit:
http://www.sqlservercentral.com/articles/SQL+Server+Integration+Services/93895/