AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / Perguntas / 135948
Accepted
leeand00
leeand00
Asked: 2016-04-21 07:26:45 +0800 CST2016-04-21 07:26:45 +0800 CST 2016-04-21 07:26:45 +0800 CST

Não é possível listar colunas ou consultar no servidor vinculado do MS Access 2003 no SQL Server 2008 R2 usando o Microsoft Jet 4.0 OLE DB Provider?

  • 772

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 contexte 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.
ms-access sql-server-2008-r2
  • 1 1 respostas
  • 450 Views

1 respostas

  • Voted
  1. Best Answer
    leeand00
    2016-04-21T07:31:30+08:002016-04-21T07:31:30+08:00

    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

    USE [master]
    GO
    
    -- Create a new linked table
    EXEC sp_addlinkedserver
    @server='LinkedServerToMSAccessMDB',
    @provider='Microsoft.Jet.OLEDB.4.0',
    @srvproduct = 'OLE DB Provider for Jet',
    @datasrc = 'E:\DB_local\MyMDB.mdb'
    GO
    
    EXEC master.dbo.sp_addlinkedsrvlogin
    @rmtsrvname='LinkedServerToMSAccessMDB',
    @useself='FALSE',
    @locallogin=NULL,
    @rmtuser='someuser',
    @rmtpassword='daspasswd'
    GO
    

    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 Explorerpainel, em <server-name>\Server Objects\Linked Servers, clique com o botão direito e clique em refresh...sua nova LinkedServerToMSAccessMDBagora deve aparecer na lista, clique com o botão direito e selecioneProperties

    Na janela que aparece a seguir no Select a pagepainel, clique Securitye, em seguida, na For a login no defined in the list above, connections will:lista de botões de opção, selecione Be 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 .mdwarquivo nas caixas de texto Remote login:e .With password:

    4. Execute uma consulta

    Depois de clicar OK, agora você poderá executar um selectno .mdbarquivo para poder criar um VIEWem um esquema para algum usuário especificado.

    SELECT [Field1]
      FROM [LinkedServerToMSAccessMDB]...[T_Table1]
    GO
    
    • 0

relate perguntas

  • Questão de simultaneidade?

  • plano de manutenção executado pelo agente

  • Usando uma consulta de parâmetro para gerar gráficos em relatórios do MS Access

  • Consultar o banco de dados Linked Access no compartilhamento de rede via SQL Job Agent

  • Randomizando o conteúdo da tabela e armazenando-o de volta na tabela

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve