Partilhar via


Identificadores de descritor

Um descritor é uma coleção de metadados que descreve os parâmetros de uma instrução SQL ou as colunas de um conjunto de resultados, conforme visto pelo aplicativo ou driver (também conhecido como implementação). Assim, um descritor pode preencher qualquer uma das quatro funções:

  • Descritor de parâmetro de aplicativo (APD). Contém informações sobre os buffers de aplicativo associados aos parâmetros em uma instrução SQL, como seus endereços, comprimentos e tipos de dados C.

  • Descritor de parâmetro de implementação (IPD). Contém informações sobre os parâmetros em uma instrução SQL, como seus tipos de dados SQL, comprimentos e nulidade.

  • Descritor de linha de aplicativo (ARD). Contém informações sobre os buffers de aplicativo vinculados às colunas em um conjunto de resultados, como seus endereços, comprimentos e tipos de dados C.

  • Descritor de Linha de Implementação (IRD). Contém informações sobre as colunas em um conjunto de resultados, como seus tipos de dados SQL, comprimentos e anulabilidade.

Quatro descritores (um preenchendo cada função) são alocados automaticamente quando uma instrução é alocada. Eles são conhecidos como descritores alocados automaticamente e estão sempre associados a essa declaração. Os aplicativos também podem alocar descritores com SQLAllocHandle. Estes são conhecidos como descritores explicitamente alocados. Eles são alocados em uma conexão e podem ser associados a uma ou mais instruções nessa conexão para cumprir o papel de um APD ou ARD nessas instruções.

A maioria das operações em ODBC pode ser executada sem o uso explícito de descritores pelo aplicativo. No entanto, os descritores fornecem um atalho conveniente para algumas operações. Por exemplo, suponha que um aplicativo deseja inserir dados de dois conjuntos diferentes de buffers. Para usar o primeiro conjunto de buffers, ele chamaria repetidamente SQLBindParameter para vinculá-los aos parâmetros em uma instrução INSERT e, em seguida, executar a instrução. Para usar o segundo conjunto de buffers, ele repetiria esse processo. Como alternativa, ele poderia configurar ligações para o primeiro conjunto de buffers em um descritor e para o segundo conjunto de buffers em outro descritor. Para alternar entre os conjuntos de associações, o aplicativo simplesmente chamaria SQLSetStmtAttr e associaria o descritor correto à instrução como APD.

Para obter mais informações sobre descritores, consulte Tipos de descritores.