Provider OLE DB per Jet
Data aggiornamento: 5 dicembre 2005
Il provider Microsoft OLE DB per Jet implementa un'interfaccia OLE DB per i database di Microsoft Access e consente di eseguire query distribuite su tali database e sui fogli di lavoro di Excel in SQL Server 2005.
Per creare un server collegato per l'accesso a un database di Access
Per creare il server collegato, eseguire sp_addlinkedserver specificando Microsoft.Jet.OLEDB.4.0 per l'argomento provider_name e il percorso completo del file del database con estensione mdb di Access per l'argomento data_source. Il file di database con estensione mdb deve essere disponibile nel server. L'origine dei dati specificata in data_source viene valutata nel server, non nel client. Il percorso corrispondente deve essere pertanto un percorso valido nel server.
Ad esempio, per creare il server collegato
Nwind
che opera sul database di AccessNwind.mdb
disponibile nella directoryc:\mydata directory
, è necessario utilizzare la sintassi seguente:sp_addlinkedserver 'Nwind', 'Access', 'Microsoft.Jet.OLEDB.4.0', 'c:\mydata\Nwind.mdb'
Per accedere a un database di Access non protetto, è necessario che per gli account di accesso di SQL Server venga definito un mapping dell'account di accesso per il nome utente Admin senza password.
Nell'esempio seguente viene abilitato l'accesso per l'utente locale
Joe
al server collegatoNwind
.sp_addlinkedsrvlogin 'Nwind', false, 'Joe', 'Admin', NULL
Per accedere a un database Access protetto, configurare il Registro di sistema in REGEDIT per l'utilizzo del file di informazioni sul gruppo di lavoro utilizzato da Access. Tramite l'Editor del Registro di sistema, aggiungere il percorso completo di tale file alla voce seguente:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\SystemDB
Dopo avere configurato la voce del Registro di sistema, eseguire
sp_addlinkedsrvlogin
per creare i mapping tra gli account di accesso locali e gli account di accesso di Access:sp_addlinkedsrvlogin 'Nwind', false, 'Joe', 'AccessUser', '034fhd99dl'
Nota sulla protezione: |
---|
In questo esempio non viene utilizzata l'autenticazione di Windows. Le password verranno trasmesse senza essere crittografate. Le password possono essere visibili nelle definizioni delle origini dei dati e negli script salvati su disco, nei backup e nei file di log. Non utilizzare mai una password di amministratore per questo tipo di connessioni. Per ulteriori informazioni sulla protezione specifiche al proprio ambiente, contattare l'amministratore di rete. |
I database di Access non includono nomi di cataloghi e di schemi. Per fare riferimento alle tabelle di un server collegato basato su Access nelle query distribuite, è pertanto possibile utilizzare un nome composto da quattro parti nel formato linked_servertable_name.
Nell'esempio seguente vengono recuperate tutte le righe della tabella Employees
del server collegato Nwind
.
SELECT *
FROM Nwind...Employees
Per creare un server collegato per un foglio di calcolo di Excel:
Il provider Microsoft OLE DB per Jet 4.0 consente di accedere ai fogli di calcolo di Microsoft Excel.
Per creare un server collegato che accede a fogli di calcolo di Excel, utilizzare la sintassi illustrata nell'esempio seguente:
EXEC sp_addlinkedserver EXCEL, 'Jet 4.0', 'Microsoft.Jet.OLEDB.4.0', 'c:\data\MySheet.xls', NULL, 'Excel 5.0;' GO
Per accedere ai dati di un foglio di calcolo di Excel, assegnare un nome a un intervallo di celle. Per accedere a un intervallo a cui è stato assegnato un nome, è possibile utilizzare il nome dell'intervallo come nome di tabella. Per accedere a un intervallo denominato
SalesData
che utilizza il server collegato creato nell'esempio precedente, è possibile utilizzare la query seguente:SELECT * FROM EXCEL...SalesData GO
Le righe aggiunte a un intervallo di celle denominato vengono inserite dopo l'ultima riga dell'intervallo. Se si desidera inserire la riga rA dopo l'intestazione della colonna, è pertanto necessario assegnare un nome alle celle dell'intestazione e utilizzare tale nome come nome di tabella. L'intervallo di celle si espande automaticamente man mano che vengono inserite righe.
Per creare un server collegato per un file di testo formattato
Il provider Microsoft OLE DB per Jet consente di accedere a file di testo ed eseguire query.
Per creare un server collegato e accedere direttamente a file di testo senza collegare i file come tabelle in un file di Access con estensione mdb, eseguire
sp_addlinkedserver
come illustrato nell'esempio seguente.Il provider è
Microsoft.Jet.OLEDB.4.0
e la stringa del provider è'Text'
. L'origine dei dati corrisponde al nome e al percorso completo della directory in cui sono archiviati i file di testo. Nella stessa directory dei file di testo deve essere presente un file Schema.ini, che descrive la struttura del file di testo. Per ulteriori informazioni sulla creazione di un file Schema.ini, vedere la documentazione del modulo di gestione di database Jet.--Create a linked server. EXEC sp_addlinkedserver txtsrv, 'Jet 4.0', 'Microsoft.Jet.OLEDB.4.0', 'c:\data\distqry', NULL, 'Text' GO --Set up login mappings. EXEC sp_addlinkedsrvlogin txtsrv, FALSE, NULL, Admin, NULL GO --List the tables in the linked server. EXEC sp_tables_ex txtsrv GO --Query one of the tables: file1#txt --by using a four-part name. SELECT * FROM txtsrv...[file1#txt]
Vedere anche
Concetti
Provider OLE DB testati con SQL Server
Query distribuite
Altre risorse
sp_addlinkedserver (Transact-SQL)
Guida in linea e informazioni
Cronologia modifiche
Versione | Cronologia |
---|---|
5 dicembre 2005 |
|