OLE DB Provider for Jet
O Microsoft OLE DB Provider for Jet fornece uma interface OLE DB para bancos de dados do Microsoft Access e permite que consultas do SQL Server 2005 e posterior consultem bancos de dados do Access e planilhas do Excel.
Para criar um servidor vinculado para acessar um banco de dados do Access
Execute sp_addlinkedserver para criar o servidor vinculado especificando Microsoft.Jet.OLEDB.4.0 como provider_name e o nome do caminho completo do arquivo de banco de dados .mdb do Access como data_source. O arquivo de banco de dados .mdb deve residir no servidor. O data_source é avaliado no servidor, não no cliente, e o caminho deve ser válido no servidor.
Por exemplo, para criar um servidor vinculado nomeado Nwind que opere no banco de dados do Access nomeado Nwind.mdb no c:\mydata directory, execute.
sp_addlinkedserver 'Nwind', 'Access', 'Microsoft.Jet.OLEDB.4.0', 'c:\mydata\Nwind.mdb'
Para acessar um banco de dados do Access não protegido, os logons do SQL Server que tentam acessar o banco de dados do Access devem ter um mapeamento de logon definido para o nome de usuário Admin sem uma senha.
O exemplo a seguir habilita o acesso ao usuário local Joe ao servidor vinculado nomeado Nwind.
sp_addlinkedsrvlogin 'Nwind', false, 'Joe', 'Admin', NULL
Para acessar um banco de dados do Access protegido, configure o Registro usando o Editor do Registro para usar o arquivo de informações do grupo de trabalho usado pelo Access. Use o Editor do Registro para adicionar o nome completo do caminho do arquivo de informações do grupo de trabalho usado pelo Access para esta entrada do Registro:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\SystemDB
Depois que a entrada do Registro estiver configurada, use sp_addlinkedsrvlogin para criar mapeamentos de logons locais para logons do Access:
sp_addlinkedsrvlogin 'Nwind', false, 'Joe', 'AccessUser', '034fhd99dl'
Observação sobre segurança |
---|
Este exemplo não usa a Autenticação do Windows. As senhas serão transmitidas descriptografadas. Senhas podem ser visíveis em definições de fonte de dados e scripts salvos em disco, em backups e em arquivos de log. Nunca use uma senha de administrador nesse tipo de conexão. Contate o administrador da rede para obter orientações sobre segurança específicas a seu ambiente. |
Bancos de dados do Access não têm catálogo e nomes de esquema. Portanto tabelas em um servidor vinculado baseado no Access podem ser referidas em consultas distribuídas usando um nome de quatro partes do formulário linked_server**...**table_name.
O exemplo a seguir recupera todas as linhas da tabela Employees no servidor vinculado nomeado Nwind.
SELECT *
FROM Nwind...Employees
Para criar um servidor vinculado em relação a uma planilha do Excel
O Microsoft OLE DB Provider for Jet 4.0 pode ser usado para acessar planilhas do Microsoft Excel.
Para criar um servidor vinculado que acessa uma planilha do Excel, use o formato do exemplo a seguir:
EXEC sp_addlinkedserver EXCEL, 'Jet 4.0', 'Microsoft.Jet.OLEDB.4.0', 'c:\data\MySheet.xls', NULL, 'Excel 5.0;' GO
Para acessar dados de uma planilha do Excel, associe um intervalo de células com um nome. Um intervalo nomeado pode ser acessado usando o nome do intervalo como o nome da tabela. A consulta a seguir pode ser usada para acessar um intervalo nomeado chamado SalesData usando a configuração do servidor vinculado no exemplo anterior.
SELECT * FROM EXCEL...SalesData GO
Quando uma linha é inserida em um intervalo de células nomeado, a linha é adicionada após a última linha que faz parte do intervalo de células nomeado. Portanto, se desejar inserir a linha rA após o título da coluna, associe a célula do título da coluna a um nome e use esse nome como o nome da tabela. O intervalo de células crescerá automaticamente conforme linhas forem inseridas.
Para configurar um servidor vinculado em relação a um texto formatado
O Microsoft OLE DB Provider for Jet pode ser usado para acessar e consultar arquivos de texto.
Para criar um servidor vinculado para acessar arquivos de texto diretamente sem vincular os arquivos como tabelas em um arquivo .mdb do Access, execute sp_addlinkedserver, conforme mostrado no exemplo a seguir.
O provedor é Microsoft.Jet.OLEDB.4.0 e a cadeia de caracteres do provedor é 'Text'. A fonte de dados é o nome completo do diretório que contém os arquivos de texto. Deve existir um arquivo Schema.ini no mesmo diretório que os arquivos de texto. Um arquivo Schema.ini descreve a estrutura do arquivo de texto. Para obter mais informações sobre como criar um arquivo Schema.ini, consulte a documentação do Mecanismo de Banco de Dados do 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]
Consulte também