No entanto, posso listar as tabelas...
Se eu executar Exec sp_tables_ex 'LSTest'
, obtenho um resultado com uma lista de tabelas.
Mas se eu correr
Exec sp_columns_ex 'LSTest', '<one of those table names>'
Recebo uma lista vazia e, se tento consultá-la, também não recebo nada.
Se eu entrar nas propriedades do Linked Server, tenho o Be made using this security context
e uso o Remote login:
e With password:
para o arquivo do grupo de trabalho que normalmente usaria no MS Access.
Se eu tentar fazer o script de uma consulta clicando com o botão direito do mouse no nome da tabela no servidor vinculado, em vez de uma instrução select, recebo o seguinte:
-- [LSTest]...[Tablename] contains no columns that can be selected or the current user does not have permissions on that object.
1. Defina seu arquivo SystemDB no registro
Observe que você só pode especificar UMA dessas malditas coisas.
No Windows de 32 bits
Se a instalação do Windows na qual a instância do SQL Server está instalada for de 32 bits, o que é duvidoso... use a seguinte chave para definir o caminho para o arquivo MS-Access Workgroup (
*.mdw
):HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\SystemDB
No Windows de 64 bits
Por outro lado, se a instalação do Windows na qual a instância do SQL Server está instalada for de 64 bits (mais provável), defina o caminho para o arquivo MS-Access Workgroup (
*.mdw
) aqui:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Jet\4.0\Engines\Jet 4.0\Engines\SystemDB
2. Crie seu servidor vinculado ao MS Access
3. Certifique-se de que suas credenciais de banco de dados sejam passadas para o arquivo de grupo de trabalho
(.mdw)
ao executar uma consulta do(.mdb)
Agora se você quiser ter certeza de que a senha está sendo passada corretamente depois de executar isso....no
Object Explorer
painel, em<server-name>\Server Objects\Linked Servers
, clique com o botão direito e clique emrefresh
...sua novaLinkedServerToMSAccessMDB
agora deve aparecer na lista, clique com o botão direito e selecioneProperties
Na janela que aparece a seguir no
Select a page
painel, cliqueSecurity
e, em seguida, naFor a login no defined in the list above, connections will:
lista de botões de opção, selecioneBe made using this security context:
(se você não quiser ser específico sobre quais usuários da rede têm acesso a ela ... caso contrário, use os mapeamentos) e, em seguida, digite o nome de usuário e a senha que você normalmente usaria para acessar o MS Access usando seu.mdw
arquivo nas caixas de textoRemote login:
e .With password:
4. Execute uma consulta
Depois de clicar
OK
, agora você poderá executar umselect
no.mdb
arquivo para poder criar umVIEW
em um esquema para algum usuário especificado.