Applies ToAccess para Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Lembre-se dos dias felizes da juventude quando sopa de letrinhas era uma refeição divertida. Fique com esses pensamentos felizes no fundo da sua mente enquanto provamos a versão de banco de dados da sopa de letrinhas. As seções a seguir explicam os conceitos básicos sobre como chegar a um banco de dados com cadeias de conexão e usar uma interface de programação de banco de dados no código Access VBA.

Componentes de acesso a dados

Neste artigo

Usando o driver ODBC ou provedor OLE DB

Programaticamente conecte ao SQL Server a partir do Access

Resumo das versões do driver ODBC

Resumo das versões do provedor OLE DB

Resumo de palavras-chave do ODBC

Resumo de palavras-chave do OLE DB

Usando o driver ODBC ou provedor OLE DB

As cadeias de conexão existem há muito tempo. Você pode definir uma cadeia de conexão formatada na interface do usuário do Access ou no código VBA. Uma cadeia de conexão (tanto ODBC como OLE DB) passa informações diretamente para o banco de dados, como local do servidor, nome do banco de dados, tipo de segurança e outras opções úteis. Por exemplo:

ODBC;DRIVER=SQL Server;SERVER="MyServer";DATABASE="MyHRdb";TRUSTED_CONNECTION=Yes
Provider=SQLOLEDB;Data Source=MyServer;Initial Catalog=MyHRdb; Integrated Security=SSPI;

No início, havia o SNAC (SQL Server Native Client), uma biblioteca autônoma que continha as tecnologias ODBC e OLEDB, e ainda está disponível para as versões do SQL Server de 2005 a 2012. Muitos aplicativos herdados usavam o SNAC e ainda são compatíveis com versões anteriores, mas não recomendamos usá-lo para o desenvolvimento de novos aplicativos. Você deve usar versões posteriores individuais e baixáveis dos drivers ODBC.

Drivers ODBC

ODBC (Open Database Connectivity) é um protocolo usado para conectar um banco de dados do Access a uma fonte de dados externa, como o Microsoft SQL Server. Normalmente, você usa fontes de dados de arquivo (também chamadas de arquivos DSN) para adicionar uma cadeia de conexão, neste caso, a palavra-chave FILEDSN é usada na cadeia de conexão, ou armazenada no registro, neste caso, a palavra-chave DSN é usada. Como alternativa, você pode usar o VBA para definir essas propriedades usando uma cadeia de conexão "sem DSN".

Ao longo dos anos, os drivers ODBC foram distribuídos em três fases:

  • Antes de 2005, os drivers ODBC eram fornecidos com o Windows Data Access Components (WDAC), originalmente chamado de Microsoft Data Access Components (MDAC). Esses componentes ainda são fornecidos com o Windows para compatibilidade com versões anteriores. Para mais informações, consulte Microsoft ou Windows Data Access Components.

  • Drivers ODBC fornecidos com o SNAC para SQL Server 2005 por meio do SQL Server 2012.

  • Após o SQL Server 2012, os drivers ODBC foram enviados individualmente e contêm suporte para novos recursos do SQL Server.

Para novas atividades de desenvolvimento, evite usar drivers ODBC das duas primeiras fases e use drivers ODBC da terceira fase.

Provedores OLE DB

Vinculação e Incorporação de Objetos, Banco de Dados (OLE DB) é um protocolo mais recente usado para conectar um banco de dados do Access a uma fonte de dados externa, como o Microsoft SQL Server. O OLE DB não requer um DSN e também fornece acesso total a fontes de dados ODBC e drivers ODBC.

Dica    Normalmente, você usa a caixa de diálogo Propriedades de Vínculo de Dados para adicionar uma cadeia de conexão OLE DB. Embora não haja nenhuma maneira para abrir a caixa de diálogo Propriedades de Vínculo de Dados a partir do Access, no Windows Explorer, você pode criar um arquivo .txt vazio, alterar o tipo de arquivo para .udl e, em seguida, clicar duas vezes no arquivo. Depois de criar uma cadeia de conexão, altere o tipo de arquivo de volta para .txt.

Ao longo dos anos, os provedores OLE DB foram fornecidos em três fases:

  • Antes de 2005, os provedores OLE DB eram fornecidos com o Windows Data Access Components (WDAC), originalmente chamado de Microsoft Data Access Components (MDAC).

  • Os provedores OLE DB eram fornecidos com o SQL Server 2005 a SQL Server 2017. Foi preterido em 2011.

  • Em 2017, o provedor OLE DB do SQL Server não se encontrava preterido.

A versão atualmente recomendada para o desenvolvimento de novas soluções é o OLE DB Driver 18 para SQL Server.

Como otimizar o desempenho com uma cadeia de conexão ODBC

Para otimizar o desempenho, minimizar o tráfego de rede e reduzir o acesso de vários usuários ao banco de dados do SQL Server, use o mínimo possível de sequências de conexão compartilhando cadeias de conexão em vários conjuntos de registros. Embora o Ace simplesmente passe uma cadeia de conexão para o servidor, ele entende e usa as seguintes palavras-chave: DSN, DATABASE, UID, PWD e DRIVER para ajudar a minimizar a comunicação entre o cliente e o servidor.

Observação    Se uma conexão ODBC com uma fonte de dados externa for perdida, o Access tentará automaticamente se reconectar a ela. Se a tentativa for bem sucedida, você poderá continuar trabalhando. Se a tentativa falhar, você ainda poderá trabalhar com objetos que não dependem da conexão. Para reconectar, feche e abra novamente o Access.

Recomendações ao usar o ODBC e o OLE DB

Evite misturar as cadeias de conexão e as tecnologias de acesso a banco de dados. Use uma cadeia de conexão ODBC para o DAO. Use uma cadeia de conexão OLE DB para o ADO. Se o aplicativo contiver código VBA que usa DAO e ADO, use o driver ODBC para DAO e o provedor OLE DB para ADO. Esforce-se para obter os últimos recursos e suporte tanto para ODBC como para OLEDB, respectivamente.

O ODBC usa o driver de termo e o OLE DB usa o provedor de termo. Os termos descrevem o mesmo tipo de componente de software, mas não são intercambiáveis na sintaxe da cadeia de conexão. Use o valor correto conforme documentado.

Início da página

Programaticamente conecte ao SQL Server a partir do Access

Há duas maneiras principais de conectar programaticamente a um banco de dados do SQL Server a partir do Access.

DAO

Um objeto de acesso a dados (DAO) fornece uma interface abstrata para um banco de dados. O Microsoft Data Access Objects (DAO) é o modelo de objeto de programação nativo que permite que você chegue ao coração do Access e SQL Server para criar, excluir, modificar e listar objetos, tabelas, campos, índices, relações, consultas, propriedades e bancos de dados externos.

Para obter mais informações, consulte a referência do Microsoft Data Access Objects.

ADO

O ActiveX Data Objects (ADO) fornece um modelo de programação de alto nível e está disponível no Access por meio de uma referência a uma biblioteca de terceiros. O ADO é simples de aprender e permite que aplicativos clientes acessem e manipulem dados de várias fontes, incluindo o Access e o SQL Server. Seus principais benefícios são a facilidade de uso, alta velocidade, baixa sobrecarga de memória e um pequeno espaço de disco. O ADO também oferece suporte aos principais recursos para aplicativos de criação e baseados na Web.

Para obter mais informações, consulte a referência do Microsoft ActiveX Data Objects e o Microsoft ActiveX Data Objects (ADO).

Qual deles você deve usar?

Em uma solução do Access que usa o código VBA, você pode usar DAO, ADO ou ambos como sua tecnologia de interface de banco de dados. O DAO continua a ser o padrão no Access. Por exemplo, todos os formulários, relatórios e consultas do Access usam o DAO. Mas quando você migrar para o SQL Server, considere usar o ADO para tornar sua solução mais eficiente. Estão são algumas diretrizes gerais para ajudá-lo a decidir quando usar o DAO ou o ADO.

Use o DAO quando o seu objetivo for:

  • Criar um formulário vinculado de leitura/gravação sem usar o VBA.

  • Consultar tabelas locais.

  • Baixar dados para tabelas temporárias.

  • Usar consultas de passagem como fontes de dados para relatórios ou formulários no modo somente leitura.

  • Definir e usar um objeto TableDef ou Querydef no VBA.

Use o ADO quando o seu objetivo for:

  • Usar novas formas de otimização, como executar operações assíncronas.

  • Executar consultas de passagem DDL e DML.

  • Obter dados do SQL Server diretamente por meio de conjuntos de registros no VBA.

  • Escreva um código mais simples para determinadas tarefas, como streaming de Blobs.

  • Chame um procedimento armazenado diretamente, com parâmetros, usando um objeto de comando no VBA.

Início da página

Resumo das versões do driver ODBC

A tabela a seguir resume informações importantes sobre versões de driver ODBC, locais de download e suporte a recursos. Certifique-se de usar a versão de bits correta (64 bits ou 32 bits) do driver com base no Windows e não no Office. Se você estiver executando o Access de 32 bits no Windows de 64 bits, instale os drivers de 64 bits, que incluem os componentes de 32 bits necessários para o Access.

Para obter mais informações, confira Usando palavras-chave de cadeia de conexão com o SQL Server Native Client, Notas de versão para ODBC para SQL Server no Windows (V17) e Recursos do Microsoft ODBC Driver para SQL Server no Windows (V13, 11).

Drivers ODBC

Versão

Baixar

Novos recursos

Drivers ODBC 17.0 a 17.3

SQL Server 2017

Baixar

Driver ODBC 17.3

Usando o Azure Active Directory com o driver ODBC

Limitações do driver ODBC ao usar Always Encrypted

Usando Transações XA

Driver ODBC 17.2

Usando Always Encrypted com o driver ODBC para SQL Server

Classificação de dados

Agrupamento e Suporte Unicode de codificação do servidor UTF-8

Driver ODBC 17.1

Usando Always Encrypted com o driver ODBC para SQL Server

Driver ODBC 17.0

Always Encrypted

UseFMTONLY    Para usar metadados herdados em casos especiais que exijam tabelas temporárias. Confira as Notas de Versão do ODBC para o SQL Server no Windows

Diferenças ao usar a Instância Gerenciada (ODBC versão 17)

Driver ODBC 13.1

SQL Server 2016 SP1, SQL Azure

Baixar

Always Encrypted

Azure Active Directory

Grupos de disponibilidade AlwaysOn

Pool de conexão com reconhecimento de driver no driver ODBC para SQL Server

Driver ODBC 13.0

SQL Server 2016

Baixar

Nome de domínio internacionalizado (IDN)

Driver ODBC 11.0

SQL Server 2005 a 2012

Baixar

Pool de conexão com reconhecimento de driver

Resiliência de conexão no driver ODBC do Windows

Execução assíncrona

Nomes de entidade de serviço (SPNs) em conexões de cliente (ODBC)

Recursos do driver ODBC da Microsoft para o SQL Server no Windows

Início da página

Resumo das versões do provedor OLE DB

A tabela a seguir resume informações importantes sobre versões de provedores OLE DB, locais de download e suporte a recursos. Certifique-se de usar a versão de bits correta (64 bits ou 32 bits) do driver com base no Windows e não no Office. Se você estiver executando o Access de 32 bits no Windows de 64 bits, instale os drivers de 64 bits, que incluem os componentes de 32 bits necessários para o Access.

Para obter mais informações, confira Usando palavras-chave de cadeia de conexão com o SQL Server Native Client.

Provedor OLE DB

Versão

Baixar

Novos recursos

Driver OLE DB 18.2.1

(MSOLEDBSQL)

SQL Server 2017

Baixar

Confira OLE DB Driver para Recursos do SQL Server e notas de versão para o driver Microsoft OLE DB, para o SQL Server

SQL Server Native Client (SQLNCLI)

SQL Server 2005 a 2012

Preterido, não use

Driver OLE DB (SQLOLEDB)

Preterido, não use

Início da página

Resumo de palavras-chave do ODBC

A tabela a seguir resume as palavras-chave ODBC reconhecidas pelo SQL Server e sua finalidade. Apenas um subconjunto é reconhecido pelo Access.

Palavra-chave

Descrição

Endereço

O endereço de rede do servidor que está executando uma instância do SQL Server.

AnsiNPW

Especifica o uso de comportamentos definidos por ANSI para manipular comparações NULL, preenchimento de dados de caractere, avisos e concatenação NULL (Sim ou Não).

APLICATIVO

Nome do aplicativo chamando o SQLDriverConnect.

ApplicationIntent

Declara o tipo de carga de trabalho do aplicativo ao se conectar a um servidor (ReadOnly ou ReadWrite).

AttachDBFileName

Nome do arquivo principal de um banco de dados anexável.

AutoTranslate

Especifica se as cadeias de caracteres ANSI são enviadas entre o cliente ou o servidor ou se são convertidas para Unicode (Sim ou Não).

Banco de dados

O nome do banco de dados. Descrição O objetivo da conexão. Driver Nome do driver conforme retornado por SQLDrivers.

DSN

Nome de um usuário ODBC ou fonte de dados do sistema existente. Criptografar Especifica se os dados devem ser criptografados antes de enviá-los pela rede (Sim ou Não).

Failover_Partner

Nome do servidor do parceiro de failover a ser usado se não for possível estabelecer uma conexão com o servidor principal.

FailoverPartnerSPN

O SPN para o parceiro de failover.

Fallback

Palavra-chave preterida.

FileDSN

Nome de uma fonte de dados de arquivo ODBC existente. Idioma O idioma do SQL Server.

MARS_Connection

Especifica vários conjuntos de resultados ativos (MARS) na conexão para o SQL Server 2005 (9.x) ou posterior (Sim ou Não).

MultiSubnetFailover

Especifica se você deve se conectar ao ouvinte do grupo de disponibilidade de um grupo de disponibilidade do SQL Server, ou a uma Instância de Cluster de Failover (Sim ou Não).

Líquido

dbnmpntw indica pipes nomeados e dbmssocn indica TCP/IP.

PWD

A senha de logon do SQL Server.

QueryLog_On

Especifica o registro em log de consultas demoradas (Sim ou Não).

QueryLogFile

Caminho e nome de arquivo completos de um arquivo a ser usado para registrar dados em consultas demoradas.

QueryLogTime

Cadeia de caracteres de dígitos especificando o limite (em milissegundos) para o registro em log de consultas de longa execução.

QuotedId

Especifica se o SQL Server usa as regras ISO relacionadas ao uso de aspas nas instruções SQL (Sim ou Não).

Regional

Especifica se o driver ODBC do SQL Server Native Client usa configurações do cliente ao converter dados de moeda, data ou hora em dados de caractere (Sim ou Não).

SaveFile

Nome de um arquivo de fonte de dados ODBC no qual os atributos da conexão atual são salvos se a conexão for bem-sucedida.

Servidor

O nome de uma instância do SQL Server: Servidor na rede, um endereço IP ou um alias do Gerenciador de Configurações.

ServerSPN

O SPN para o servidor.

StatsLog_On

Habilita a captura dos dados de desempenho do driver ODBC do SQL Server Native Client.

StatsLogFile

Caminho e nome de arquivo completos de um arquivo usado para registrar estatísticas de desempenho do driver ODBC do SQL Server Native Client.

Trusted_Connection

Especifica se o Modo de Autenticação do Windows ou o nome de usuário ou a senha do SQL Server são usados para a validação de logon (Sim ou Não).

TrustServerCertificate

Quando usado com o Encrypt, permite fazer criptografia usando um certificado de servidor autoassinado.

UID

O nome de logon do SQL Server.

UseProcForPrepare

Palavra-chave preterida.

WSID

O identificador da estação de trabalho, o nome da rede do computador no qual o aplicativo reside.

Início da página

Resumo de palavras-chave do OLE DB

A tabela a seguir resume palavras-chave OLE DB reconhecidas pelo SQL Server e sua finalidade. Apenas um subconjunto é reconhecido pelo Access.

Palavra-chave

Descrição

Endereço

O endereço de rede do servidor que está executando uma instância do SQL Server.

APLICATIVO

A cadeia de caracteres que identifica o aplicativo.

ApplicationIntent

Declara o tipo de carga de trabalho do aplicativo ao se conectar a um servidor (ReadOnly ou ReadWrite).

AttachDBFileName

Nome do arquivo principal de um banco de dados anexável.

AutoTranslate

Configura a conversão de caracteres OEM/ANSI (Verdadeiro ou Falso).

Tempo limite de conexão

A quantidade de tempo (em segundos) a aguardar até a conclusão da inicialização da fonte de dados.

Idioma Atual

O nome do idioma do SQL Server.

Fonte de Dados

O nome de uma instância do SQL Server na organização.

Banco de dados

O nome do banco de dados.

DataTypeCompatibility

Um número que indica o modo de manipulação de tipo de dados que será usado.

Criptografar

Especifica se os dados devem ser criptografados antes de enviá-los pela rede (Sim ou Não).

FailoverPartner

O nome do servidor de failover usado para espelhamento de banco de dados.

FailoverPartnerSPN

O SPN para o parceiro de failover.

Catálogo Inicial

O nome do banco de dados.

Nome de Arquivo Inicial

O nome do arquivo principal (inclua o nome do caminho completo) de um banco de dados anexável.

Segurança Integrada

Usada para Autenticação do Windows (SSPI).

Idioma

O idioma do SQL Server.

MarsConn

Especifica vários conjuntos de resultados ativos (MARS) na conexão para o SQL Server 2005 (9.x) ou posterior (Sim ou Não).

Líquido

A biblioteca de rede usada para estabelecer uma conexão com uma instância do SQL Server na organização.

Endereço de Rede

O endereço de rede de uma instância do SQL Server na organização.

PacketSize

Tamanho do pacote de rede. O padrão é 4096.

Informações de Persistência de Segurança

Especifica se a Persistência de Segurança está ativada (Verdadeiro ou Falso).

PersistSensitive

Especifica se a Persistência Sensível está ativada (Verdadeiro ou Falso).

Provedor

Para o SQL Server Native Client, deve ser SQLNCLI11.

PWD

A senha de logon do SQL Server.

Servidor

O nome de uma instância do SQL Server: Servidor na rede, um endereço IP ou um alias do Gerenciador de Configurações.

ServerSPN

O SPN para o servidor.

Tempo limite

A quantidade de tempo (em segundos) a aguardar até a conclusão da inicialização da fonte de dados.

Trusted_Connection

Especifica se o Modo de Autenticação do Windows ou o nome de usuário ou a senha do SQL Server são usados para a validação de logon (Sim ou Não).

TrustServerCertificate

Especifica se um certificado do servidor é validado (Verdadeiro ou Falso).

UID

O nome de logon do SQL Server.

Usar Criptografia para os Dados

Especifica se os dados devem ser criptografados antes de enviá-los pela rede (Verdadeiro ou Falso).

UseProcForPrepare

Palavra-chave preterida.

WSID

O identificador da estação de trabalho, o nome da rede do computador no qual o aplicativo reside.

Início da página

Administrar fontes de dados ODBC

Gerenciar tabelas vinculadas

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.

As comunidades ajudam você a fazer e responder perguntas, fazer comentários e ouvir especialistas com conhecimento avançado.