E’ una soluzione ad un problema che puo’ capitare a chi non ha installato MS office sulla porpria macchina e deve accedere ad un db Access 2007.
E’ una soluzione alternativa a openoffice base, che nella versione 2.4 consente di accedere ad un db access2007, ma che non ci consentiva di effettuare query o esportare dati in formato excel.
Sul sito microsoft danno la cosa come non possibile (almeno in questo post), ma noi in infocube ci siamo riusciti, seguendo proprio le loro istruzioni:
- abbiamo installato 2007 Office System Driver: Data Connectivity Components
- abbiamo installato SQL Server 2005 Express
- abbiamo abilitato l’opzione consenti in-process da oggetti server -> server collegati -> provider -> Microsoft.ACE.OLEDB.12.0
- abbiamo eseguito le seguenti istruzioni sostituendo opportunamente i percorsi ed il nome del server:
use master
GO
EXEC sp_addlinkedserver @server = N'nome del server collegato', @provider = N'Microsoft.ACE.OLEDB.12.0', @srvproduct = N'Access2007', @datasrc = N'C:\path\to\your\db.accdb' GO -- impostiamo un login anonimo EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'nome del server collegato', @locallogin = NULL , @useself = N'False' GO -- verifichiamo di aver effettuato il collegamento elencando le tabelle del server EXEC sp_tables_ex N'nome del server collegato' GO -- Select all the rows from table1 SELECT * FROM [nome del server collegato]...table1
attenzione ad utilizzare i … tra il nome del server ed il nome della tabella.
- abbiamo inoltre impostato l’accesso al file .accdb come consentito a tutti (da windows vista)
- poi per poter accedere ai dati della tabella tramite una connessione JDBC abbiamo fatto una copia della tabella sul server MS 2005 express con la seguente query:
select * into [MyServer2005Express].dbo.table1 from [nome del server collegato]...[table1]
a questo punto la migrazione di una singola tabella e’ compiuta, si puo’ ripetere l’ultima istruzione per tutte le tabelle utente.








