Importar ou vincular dados do Access aos dados do SQL Server

Se seu departamento ou grupo de trabalho usa o Microsoft SQL Server para armazenar dados, você pode precisar trabalhar com alguns dados do SQL Server no Access.

Você pode levar dados dos objetos (tabelas ou modos) do SQL Server para o Access de uma das duas formas  — importando ou vinculando. A diferença entre os dois processos é a seguinte:

  • Quando você importa os dados, o Access cria um cópia dos dados do SQL Server e nenhuma alteração posterior que for feita nos dados no banco de dados do Access se refletirá no banco de dados do SQL Server. Da mesma forma, nenhuma alteração posterior feita na tabela ou no modo de exibição do SQL Server será refletida no Access.
  • Quando você se vincula aos dados do SQL Server, você está se conectando diretamente aos dados da fonte, de modo que todas as alterações posteriores que forem feitas em dados no Access serão refletidas no SQL Server e vice-versa.

Este artigo descreve como importar ou se vincular aos dados do SQL Server.

O que você deseja fazer?


Decidir se deve importar ou vincular

Situações em que a importação é adequada

Geralmente, você importa os dados do SQL Server para um banco de dados do Access por esses motivos:

  • Para mover os dados do SQL Server permanentemente para um banco de dados do Access porque você não precisa mais dos dados no banco de dados do SQL Server. Depois que você importar os dados no Access, você pode excluir os dados do SQL Server.
  • Seu departamento ou grupo de trabalho usa o Access, mas você ocasionalmente é levado a um banco de dados do SQL Server para obter dados adicionais que devem ser mesclados em um dos bancos de dados do Access.

Como a importação dos dados do SQL Server cria uma cópia dos dados no banco de dados do Access, durante o processo de importação, você especifica as tabelas ou modos que deseja que sejam copiados.

Situações em que a vinculação é adequada

Em geral, você vincula para os dados do SQL Server por esses motivos:

  • Para conectar diretamente aos dados da fonte e ser capaz de exibir e editar as informações mais recentes no banco de dados do SQL Server e em seu banco de dados do Access.
  • O banco de dados do SQL Server contém muitas tabelas grandes, e você não pode importá-las para um único arquivo .accdb. O tamanho máximo de um banco de dados do Access é 2 gigabytes, menos o espaço necessário para os objetos de sistema.
  • Se deseja executar consultas e gerar relatórios baseados em dados do SQL Server sem fazer uma cópia dos dados, experimente vincular ao SQL Server.
  • Seu departamento ou grupo de trabalho usa o Access para gerar relatórios e consultas, e usa o SQL Server para o armazenamento de dados. As equipes individuais podem criar tabelas e modos de exibição do SQL Server para armazenamento centralizado, mas geralmente esses dados devem ser trazidos em programas de área de trabalho para agregação e geração de relatórios. A vinculação é a alternativa apropriada, pois permite que os usuários do banco de dados do SQL Server e do banco de dados do Access adicionem e atualizem dados, e sempre exibam e trabalhem com os dados mais recentes.
  • Você é um usuário do Access que começou a usar o SQL Server recentemente. Você migrou vários bancos de dados para o SQL Server e a maioria das tabelas desses bancos de dados são tabelas vinculadas. A partir de agora, em vez de criar tabelas do Access, você criará tabelas e modos de exibição no SQL Server e os vinculará nos bancos de dados do Access.
  • Você continuará armazenando os dados no SQL Server, mas também deseja trabalhar com os dados mais recentes no Access a fim de executar consultas e imprimir relatórios criados no Access.

Início da página Início da página

Importar dados do SQL Server

Preparar para importar

Durante a operação de importação, o Access cria uma tabela e copia os dados do banco de dados do SQL Server nessa tabela. Ao final da operação de importação, você pode escolher salvar os detalhes da operação de importação como uma especificação.

 Observação   Uma especificação de importação o ajudará a repetir a operação de importação posteriormente, sem a necessidade de consultar sempre o Assistente de Importação.

  1. Localize o banco de dados do SQL Server que contém os dados que você deseja importar. Contate o administrador do banco de dados para obter informações de conexão.
  2. Identifique as tabelas ou modos que você deseja importar. É possível importar vários objetos em uma única operação de importação.
  3. Analise os dados de origem e tenha o seguinte em mente:
    • O Access não oferece suporte a mais de 255 campos em uma tabela. Ele importa apenas as 255 primeiras colunas.
    • O tamanho máximo de um banco de dados do Access é 2 gigabytes, menos o espaço necessário para os objetos de sistema. Se o banco de dados do SQL contiver muitas tabelas grandes, você provavelmente poderá importá-las para um arquivo .accdb. Nesse caso, talvez seja necessário considerar vincular os dados ao banco de dados do Access.
    • O Access não cria os relacionamentos entre tabelas automaticamente ao final de uma operação de importação. Você deve criar manualmente os relacionamentos entre as tabelas novas e as existentes usando as opções da janela Relacionamentos. Para exibir a janela Relacionamentos:
      • Clique na guia Arquivo e na guia Info, clique em Relacionamentos.
  4. Identifique o banco de dados do Access para o qual deseja importar os dados do SQL Server.

Verifique se você tem as permissões necessárias para adicionar dados ao banco de dados do Access. Se você não desejar armazenar os dados em qualquer dos bancos de dados existentes, crie um banco de dados em branco clicando na guia Arquivo e, na guia Novo, clique em Banco de Dados em Branco.

  1. Analise as tabelas, se houver alguma, no banco de dados do Access.

A operação de importação cria uma tabela com o mesmo nome do objeto do SQL Server. Se esse nome já estiver em uso, o Access anexará o número "1" ao novo nome de tabela — por exemplo, Contatos1. (Se Contatos1 já estiver em uso, o Access criará Contatos2 e assim sucessivamente)

 Observação   O Access nunca substitui uma tabela no banco de dados como parte de uma operação de importação e você não pode anexar dados do SQL Server a uma tabela existente.

Importar os dados

  1. Abra o banco de dados de destino.

Na guia Dados Externos, no grupo Importar & Vincular, clique em Banco de Dados ODBC.

  1. Clique em Importar os dados de origem para uma nova tabela do banco de dados atual e, em seguida, clique em OK.
  2. Na caixa de diálogo Selecionar Fonte de Dados, clique no arquivo na lista, se o arquivo .dsn que você deseja usar já existir.

MostrarPreciso criar um novo arquivo .dsn

 Observação   As etapas deste procedimento podem variar um pouco, dependendo do software instalado em seu computador.

  1. Clique em Novo para criar um novo nome de fonte de dados (DSN).

O Assistente para Criação de Nova Fonte de Dados é iniciado.

  1. No assistente, selecione SQL Server na lista de drivers e clique em Avançar.
  2. Digite um nome para o arquivo .dsn ou clique em Procurar para salvar o arquivo em outro local.

 Observação   Você deve ter permissões de gravação na pasta para salvar o arquivo .dsn.

  1. Clique em Avançar, analise as informações de resumo e clique em Concluir para concluir as etapas do assistente.

A caixa de diálogo Criar uma Nova Fonte de Dados para o SQL Server é exibida.

  1. Digite uma descrição da fonte de dados na caixa Descrição. Essa etapa é opcional.
  2. Em À qual SQL Server você deseja se conectar, na caixa Servidor, digite ou selecione o nome do SQL Server ao qual você deseja se conectar e clique em Avançar para continuar.
  3. Você pode requerer informações do administrador do banco de dados do SQL Server, como se deve usar a autenticação do Microsoft Windows NT ou a autenticação do SQL Server. Clique em Avançar para continuar.
  4. Para conectar-se a um banco de dados específico, verifique se a caixa de seleção Alterar o banco de dados padrão para está marcada. Em seguida, selecione o banco de dados com o qual deseja trabalhar e clique em Avançar.
  5. Clique em Concluir.
  6. Revise as informações de resumo e clique em Testar Fonte de Dados.
  7. Revise os resultados do teste e clique em OK para fechar a caixa de diálogo.

Se o teste for bem-sucedido, clique em OK novamente ou clique em Cancelar para alterar as configurações.


  1. Clique em OK para fechar a caixa de diálogo Selecionar Fonte de Dados.

O Access exibe a caixa de diálogo Importar Objetos.

  1. Em Tabelas, clique em cada tabela ou modo de exibição a ser importado e, em seguida, clique em OK.
  2. Se a caixa de diálogo Selecionar Identificador de Registro Exclusivo for exibida, isso significa que o Access não pôde determinar quais campos identificam exclusivamente cada linha de um objeto específico. Nesse caso, selecione o campo ou a combinação de campos exclusiva para cada linha e clique em OK. Se você não tiver certeza, consulte o administrador do banco de dados do SQL Server.

O Access importa os dados. Se você pretende repetir a operação de importação mais tarde, poderá salvar as etapas de importação como uma especificação de importação e voltar a executar facilmente as mesmas etapas de importação mais tarde. É necessário ter o Microsoft Office Outlook instalado no computador para criar uma tarefa.

  1. Clique em Fechar em Salvar Etapas de Importação, na caixa de diálogo Obter Dados Externos - Banco de Dados ODBC. O Access finaliza a operação de importação e exibe a(s) nova(s) tabela(s) no Painel de Navegação.

Se quiser salvar a importação como uma tarefa para reutilização, continue na próxima seção.

Início da página Início da página

Salvar e usar as configurações de importação

 Observação   É necessário ter o Microsoft Office Outlook instalado para criar uma tarefa.

  1. Na caixa de diálogo Salvar Etapas de Importação em Obter Dados Externos - Banco de Dados ODBC, marque a caixa de seleção Salvar Etapas de Importação. Um conjunto de controles adicionais é exibido.
  2. Na caixa Salvar como, digite um nome para a especificação de importação.
  3. Digite uma descrição na caixa Descrição. Essa etapa é opcional.
  4. Para realizar a operação em intervalos fixos (como semanalmente ou mensalmente), marque a caixa de seleção Criar Tarefa do Outlook. Isso cria uma tarefa no Microsoft Outlook 2010 que permite que você execute a especificação.
  5. Clique em Salvar Importação.

Caso o Outlook não esteja instalado, o Access exibirá uma mensagem de erro quando você clicar em Salvar Importação.

 Observação   Se o Outlook 2010 não estiver configurado adequadamente, será iniciado o assistente de Inicialização do Microsoft Outlook 2010. Siga as instruções no assistente para configurar o Outlook.

Opcionalmente, você pode criar uma tarefa do Outlook. Pode ser útil para criar uma tarefa no Outlook se você desejar executar a operação de importação em intervalos regulares ou recorrentes. Porém, se você não criar uma tarefa, o Access salvará a especificação mesmo assim.

Criar uma tarefa do Outlook

Se você marcou a caixa de seleção Criar Tarefa do Outlook, o Access iniciará o Office Outlook 2010 e exibirá uma nova tarefa. Siga estas etapas para configurar a tarefa:

 Observação   Caso o Outlook não esteja instalado, o Access exibirá uma mensagem de erro. Se o Outlook não estiver configurado adequadamente, o Assistente de Configuração do Outlook será iniciado. Siga as instruções no assistente para configurar o Outlook.

  1. Revise e modifique as configurações de tarefas, como Data de início,Data de conclusão e Lembrete.

Para tornar a tarefa de importação um evento recorrente, clique em Recorrente e preencha as informações apropriadas.

  1. Clique em Salvar e fechar.

Executar uma tarefa salva

  1. No Painel de Navegação do Outlook, clique em Tarefas e, em seguida, clique duas vezes na tarefa que deseja executar.
  2. Na guia Tarefa, no grupo Microsoft Access, clique em Executar Importação.
  3. Alterne novamente para a janela do Access e pressione F5 para atualizar o Painel de Navegação.
  4. Clique duas vezes na tabela importada para abri-la no modo Folha de Dados.
  5. Verifique se todos os campos e registros foram importados e se há erros.
  6. Clique com o botão direito do mouse na tabela importada no Painel de Navegação e, em seguida, clique em Modo Design no menu de atalho. Analise os tipos de dados de campo e outras propriedades de campo.

Início da página Início da página

Vincular aos dados do SQL Server

Como os dados são armazenados em tabelas, quando você vincular uma tabela ou modo de exibição em um banco de dados do SQL Server, o Access criará uma nova tabela (frequentemente conhecida como tabela vinculada), que refletirá a estrutura e o conteúdo do objeto de origem. Você pode alterar os dados no SQL Server no modo Planilha de Dados ou no modo Formulário do Access. As alterações que você fizer nos dados em um local são refletidas no outro. Porém, se você desejar fazer mudanças estruturais, como a remoção ou a alteração de uma coluna, deverá fazê-lo a partir do banco de dados do SQL Server ou de um projeto do Access que esteja conectado a esse banco de dados. Você não pode adicionar, excluir ou alterar os campos em uma tabela vinculada enquanto estiver trabalhando no Access.

Preparar para vincular

  1. Localize o banco de dados do SQL Server que possui os dados aos quais você se vinculará. Contate o administrador do banco de dados para obter informações de conexão.
  2. Identifique as tabelas e os modos de exibição aos quais deseja se vincular. Você pode vincular-se a vários objetos em uma única operação de vinculação.
  3. Analise os dados de origem e tenha o seguinte em mente:
    • O Access não oferece suporte a mais de 255 campos em uma tabela. Portanto, a tabela vinculada incluirá somente os primeiros 255 campos do objeto ao qual você se vincular.
    • As colunas somente leitura de um objeto do SQL Server continuarão como somente leitura no Access.
    • Você não poderá adicionar, excluir ou modificar colunas na tabela vinculada no Access.
  4. Identifique o banco de dados do Access no qual deseja criar as tabelas vinculadas. Verifique se você tem as permissões necessárias para adicionar dados ao banco de dados. Se você não desejar armazenar os dados em nenhum dos bancos de dados existentes, crie um novo banco de dados em branco clicando na guia Arquivo e depois na guia Novo, clicando em Banco de Dados em Branco.
  5. Analise as tabelas do banco de dado do Access. Quando você se vincular a uma tabela ou a um modo de exibição do SQL Server, o Access criará uma tabela vinculada com o mesmo nome do objeto de origem. Se esse nome já estiver em uso, o Access anexará o número "1" ao novo nome de tabela vinculada — por exemplo, Contatos1. (Se Contatos1 já estiver em uso, o Access criará Contatos2 e assim sucessivamente.)
  6. Para criar um vínculo com os dados, abra o banco de dados de destino.
  7. Na guia Dados Externos, no grupo Importar & Vincular, clique em Banco de Dados ODBC.
  8. Clique em Vincular à fonte de dados criando uma tabela vinculada e, em seguida, clique em OK.
  9. Na caixa de diálogo Selecionar Fonte de Dados, clique no arquivo .dsn que deseja usar ou clique em Novo para criar um novo nome de fonte de dados (DSN).
  10. Na caixa de diálogo Selecionar Fonte de Dados, se o arquivo .dsn que você deseja usar já existir, clique no arquivo na lista.

MostrarPreciso criar um novo arquivo .dsn

 Observação   As etapas deste procedimento podem variar um pouco, dependendo do software instalado em seu computador.

  1. Clique em Novo para criar um novo nome de fonte de dados (DSN).

O Assistente para Criação de Nova Fonte de Dados é iniciado.

  1. No assistente, selecione SQL Server na lista de drivers e clique em Avançar.
  2. Digite um nome para o arquivo .dsn ou clique em Procurar para salvar o arquivo em outro local.

 Observação   Você deve ter permissões de gravação na pasta para salvar o arquivo .dsn.

  1. Clique em Avançar, analise as informações de resumo e clique em Concluir para concluir as etapas do Assistente para Criação de Nova Fonte de Dados.

O Assistente para Criação de Nova Fonte de Dados no SQL Server é iniciado.

  1. No assistente, digite uma descrição da fonte de dados na caixa Descrição. Essa etapa é opcional.
  2. Em À qual SQL Server você deseja se conectar, na caixa Servidor, digite ou selecione o nome do computador com SQL Server ao qual você deseja se conectar e clique em Avançar para continuar.
  3. Nessa página do assistente, talvez seja necessário obter informações junto ao administrador do banco de dados do SQL Server (por exemplo, se você deve usar a autenticação do Windows NT ou do SQL Server). Clique em Avançar para continuar.
  4. Na próxima página do assistente, talvez seja necessário obter mais informações junto ao administrador do banco de dados do SQL Server. Para conectar-se a um banco de dados específico, verifique se a caixa de seleção Alterar o banco de dados padrão para está marcada. Em seguida, selecione o banco de dados do SQL Server com o qual deseja trabalhar e clique em Avançar.
  5. Clique em Concluir. Analise as informações de resumo e clique em Testar Fonte de Dados.
  6. Analise os resultados do teste e clique em OK para fechar a caixa de diálogo Testar Fonte de Dados ODBC do SQL Server.

Se o teste foi bem-sucedido, clique em OK novamente para concluir o assistente ou clique em Cancelar para retornar o assistente e alterar suas configurações.


  1. Clique em OK.

O Access exibe a caixa de diálogo Vincular Tabelas.

  1. Em Tabelas, clique em cada tabela ou modo de exibição ao qual você se vinculará e, em seguida, clique em OK.
  1. Se a caixa de diálogo Selecionar Identificador de Registro Exclusivo for exibida, isso significa que o Access não pôde determinar quais campos identificam exclusivamente cada linha dos dados de origem. Nesse caso, selecione o campo ou a combinação de campos exclusiva para cada linha e clique em OK. Se você não tiver certeza, consulte o administrador do banco de dados do SQL Server.

O Access conclui a operação de vinculação e exibe a(s) nova(s) tabela(s) vinculada(s) no Painel de Navegação.

 Importante   Cada vez que você abrir uma tabela vinculada ou o objeto de origem, verá os dados mais recentes. No entanto, as alterações estruturais efetuadas em um objeto do SQL Server não são refletidas automaticamente em uma tabela vinculada.

Atualizar uma tabela vinculada aplicando a estrutura de objeto do SQL Server mais recente

  1. Clique com o botão direito do mouse na tabela do Painel de Navegação e, em seguida, clique em Gerenciador de Tabelas Vinculadas no menu de atalho.
  2. Marque a caixa de seleção ao lado de cada tabela vinculada a ser atualizada ou clique em Selecionar Tudo para selecionar todas as tabelas vinculadas.
  3. Clique em OK.

Se a atualização for bem-sucedida, o Access exibirá uma mensagem informando esse efeito. Caso contrário, o Access exibirá uma mensagem.

  1. Clique em Fechar para fechar o Gerenciador de Tabelas Vinculadas.

Início da página Início da página

Como o Access vê os tipos de dados do SQL Server

Como os tipos de dados do Access são diferentes dos tipos de dados do SQL Server, o Access deve determinar o tipo de dados do Access mais apropriado a ser usado para cada coluna de cada tabela ou modo de exibição do SQL Server que você importar ou vincular. Por exemplo, uma coluna do SQL Server do tipo de dados bit é importada ou vinculada ao Access com o tipo de dados Sim/Não. Outro exemplo, uma coluna do SQL Server do tipo de dados nvarchar(255) (ou menor) é importada ou vinculada ao tipo de dados Texto, mas uma coluna do tipo de dados nvarchar(256) (ou maior) é importada como um campo Memorando do Access. Depois de concluir uma operação de importação ou vinculação, você poderá abrir a tabela no modo Design e confirmar quais tipos de dados o Access atribuiu aos seus campos. Você pode alterar os tipos de dados de campos em tabelas importadas. Porém, não pode alterar os tipos de dados de campos em tabelas vinculadas, exceto se alterá-los no próprio banco de dados do SQL Server ou em um projeto do Access que esteja conectado a esse banco de dados.

A tabela a seguir lista os principais tipos de dados do SQL Server. A segunda e terceira colunas mostram como o Access interpreta cada tipo.

Tipo de dados do SQL Server Tipo de dados do Access Tamanho de campo do Access
bigint Texto 255
binary(tamanho do arquivo) Binary Igual ao tamanho de arquivo do SQL Server
bit Yes/No
char(tamanho do arquivo), em que tamanho do arquivo é menor ou igual a 255 Text Igual ao tamanho de arquivo do SQL Server
char(tamanho do arquivo), em que tamanho do arquivo é maior que 255 Memo
datetime Date/Time
decimal(precisão, escala) Number Decimal (as propriedades Precision e Scale do Access correspondem à precisão e escala do SQL Server.)
float Number Double
image OLE Object
int Number Long Integer
money Currency
nchar(tamanho do arquivo), em que tamanho do arquivo é menor ou igual a 255 Text Igual ao tamanho de arquivo do SQL Server
nchar(tamanho do arquivo), em que tamanho do arquivo é maior que 255 Memo
ntext Memo
numeric(precisão, escala) Number Decimal (as propriedades Precision e Scale do Access correspondem à precisão e escala do SQL Server.)
nvarchar(tamanho do arquivo), em que tamanho do arquivo é menor ou igual a 255 Text Igual ao tamanho de arquivo do SQL Server
nvarchar(tamanho do arquivo), em que tamanho do arquivo é maior que 255 Memo
nvarchar(MAX) Memo
real Number Single
smalldatetime Data/Hora
smallint Number Integer
smallmoney Currency
sql_variant Text 255
text Memo
timestamp Binary 8
tinyint Number Byte
uniqueidentifier Number Replication ID
varbinary Binary Igual ao tamanho de arquivo do SQL Server
varbinary(MAX) OLE Object
varchar(tamanho do arquivo), em que tamanho do arquivo é menor ou igual a 255 Text Igual ao tamanho de arquivo do SQL Server
varchar(tamanho do arquivo), em que tamanho do arquivo é maior que 255 Memo
varchar(MAX) Memo
xml Memo

Início da página Início da página

 
 
Aplica-se a:
Access 2010