Como ativar o pool de conexão ODBC em um aplicativo ADO do Visual Basic

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 237844
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Sumário
Por padrão, o ADO usa pooling para manter um pool de conexões para o banco de dados de sessão OLEDB. Em alguns casos, convém usar ODBC pool de conexão em vez de pooling de sessão OLEDB. Este artigo descreve o que é necessário para habilitar o pool de conexão ODBC do Visual Basic/ADO aplicativo.

Observação A seguir só se aplicará se você estiver usando um driver ODBC para estabelecer a conexão ao seu banco de dados.
Mais Informações
Para habilitar o pool de conexão ODBC do Visual Basic/ADO aplicativo, há duas etapas necessárias:
  1. Abra o Administrador de fonte de dados ODBC no painel de controle . Selecione a guia Pool de conexões localizar o driver que você está usando na lista e clique duas vezes nele. Escolha a opção conexões de pool com este driver e digite um valor de tempo limite.

    Observação Isso se aplica somente ao administrador do ODBC versão 3.5 ou posterior. Se você estiver usando uma versão anterior do administrador, em seguida, você precisará encontrar o valor CPTimeout para o driver no Registro sob a seguinte chave do Registro e definir o valor:
    HKEY_LOCAL_MACHINE/SOFTWARE/ODBC/ODBCINST.INI/Driver_Name
    Para obter mais informações sobre como definir esse valor no registro, consulte o seguinte documento: A segunda etapa é adicionar uma chamada de função API ODBC SQLSetEnvAttr em seu aplicativo com as opções apropriadas para habilitar ODBC pool de conexão para o processo. Esta função só deve ser chamada uma vez por processo e deve ser chamada antes para executar qualquer código ADO. Abaixo estão as etapas necessárias para criar um exemplo de código do Visual Basic completo demonstrar isso:
    1. Crie um novo projeto Visual Basic Standard EXE. O Form1 é criado por padrão.
    2. A partir do menu Project , escolha referências e adicione uma referência ao Microsoft ActiveX Data Objects .
    3. No formulário padrão, adicione um CommandButton.
    4. Recorte e cole o código a seguir no formulário. Você precisará modificar a seqüência de caracteres de conexão para que ele se conecta a seu banco de dados:

      Observação Você deve alterar usuário ID = < ID de Usuário > e a senha = < Senha de alta Segurança > para os valores corretos antes de executar esse código. Certifique-se que a ID de usuário tenha as permissões apropriadas para executar esta operação no banco de dados.
      Option ExplicitDim rc As LongConst dbconnstring = "DSN=<Your DSN>;uid=<User ID>;pwd=<Strong Password>;OLE DB Services=-2"Const SQL_ATTR_CONNECTION_POOLING = 201Const SQL_CP_ONE_PER_DRIVER = 1Const SQL_IS_INTEGER = -6Const SQL_CP_OFF = 0Private Declare Function SQLSetEnvAttr Lib "odbc32.dll" ( _                    ByVal EnvironmentHandle As Long, _                    ByVal EnvAttribute As Long, _                    ByVal ValuePtr As Long, _                    ByVal StringLength As Long) As Integer                    Private Sub Command1_Click()        Dim SQL As String       'Test connection pooling    Dim i As Long    For i = 1 To 10        Dim cn As ADODB.Connection        Set cn = New ADODB.Connection        cn.Open dbconnstring        cn.Close        Set cn = Nothing    Next            MsgBox "Connection finished"End SubPrivate Sub Form_Load()        'Enable connection pooling ..  this must be done before any ADO calls    'are made.  Only needs to occur one time per process    rc = SQLSetEnvAttr(0&, _                 SQL_ATTR_CONNECTION_POOLING, _                 SQL_CP_ONE_PER_DRIVER, _                 SQL_IS_INTEGER)    If rc <> 0 Then        Debug.Print "SQLSetEnvAttr Error " & rc    End IfEnd SubPrivate Sub Form_Unload(Cancel As Integer)            Call SQLSetEnvAttr(0&, _                SQL_ATTR_CONNECTION_POOLING, _                SQL_CP_OFF, _                SQL_IS_INTEGER)End Sub							
    5. Compile o projeto em um EXE. Antes de executar o EXE compilado, convém usar alguns utilitário para monitorar as conexões sendo feitas para o banco de dados. Com o SQL Server 7.0, você pode usar Profiler (SQL rastreamento com o SQL Server 6.5). Execute este programa e você verá apenas uma conexão feita no banco de dados. Cada conexão subseqüente utiliza a conexão existente no pool.

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 237844 - Última Revisão: 12/05/2015 15:18:03 - Revisão: 4.2

Microsoft Data Access Components 2.0, Microsoft Data Access Components 2.1, Microsoft Data Access Components 2.1 Service Pack 2, Microsoft Data Access Components 2.1 Service Pack 1, Microsoft Data Access Components 2.1 Service Pack 2, Microsoft Data Access Components 2.5, Microsoft Data Access Components 2.6, Microsoft Data Access Components 2.7, Microsoft Visual Basic 5.0 Enterprise Edition, Microsoft Visual Basic Enterprise Edition for Windows 6.0

  • kbnosurvey kbarchive kbmt kbhowto KB237844 KbMtpt
Comentários