Partilhar via


Atributos de conexão

Os atributos de ligação são características da ligação. Por exemplo, como as transações ocorrem ao nível da ligação, o nível de isolamento da transação é um atributo da ligação. De forma semelhante, o tempo limite de login, ou o número de segundos para esperar ao tentar ligar antes de ocorrer uma interrupção, é um atributo de ligação.

Os atributos de ligação são definidos com SQLSetConnectAttr e as suas definições atuais recuperadas com SQLGetConnectAttr. Se o SQLSetConnectAttr for chamado antes do driver ser carregado, o Gestor de Drivers armazena os atributos na sua estrutura de ligação e define-os no driver como parte do processo de ligação. Não existe qualquer requisito de que uma aplicação defina quaisquer atributos de ligação; Todos os atributos de ligação têm valores predefinidos, alguns dos quais são específicos do driver.

Um atributo de ligação pode ser definido antes ou depois da ligação, ou ambos, dependendo do atributo e do driver. O tempo limite de login (SQL_ATTR_LOGIN_TIMEOUT) aplica-se ao processo de ligação e só é eficaz se definido antes da ligação. Os atributos que especificam se deve usar a biblioteca de cursores ODBC (SQL_ATTR_ODBC_CURSORS) e o tamanho do pacote de rede (SQL_ATTR_PACKET_SIZE) devem ser definidos antes da ligação, porque a biblioteca de cursores ODBC reside entre o Gestor de Drivers e o driver e, por isso, deve ser carregada antes do driver.

Os atributos para especificar se uma fonte de dados é apenas de leitura ou de leitura-escrita (SQL_ATTR_ACCESS_MODE) e o catálogo atual (SQL_ATTR_CURRENT_CATALOG) podem ser definidos antes ou depois da ligação, dependendo do driver. No entanto, aplicações interoperáveis definem-nos antes de se conectarem porque alguns drivers não suportam ajustá-los após a conexão.

Alguns atributos de ligação têm um padrão antes da ligação ser feita, enquanto outros não. Os que o fazem são SQL_ATTR_ACCESS_MODE, SQL_ATTR_AUTOCOMMIT, SQL_ATTR_LOGIN_TIMEOUT, SQL_ATTR_ODBC_CURSORS, SQL_ATTR_TRACE e SQL_ATTR_TRACEFILE.

Os atributos de tradução da conexão (SQL_ATTR_TRANSLATE_DLL e SQL_ATTR_TRANSLATE_OPTION) devem ser configurados após a conexão.

Todos os outros atributos de ligação podem ser definidos a qualquer momento. Para mais informações, consulte a descrição da função SQLSetConnectAttr . (Os atributos de ligação não podem ser definidos ao nível do ambiente através de uma chamada ao SQLSetEnvAttr.)