Partilhar via


Efeitos das opções ISO

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure PDW (Sistema de Plataforma de Análise) do Azure Synapse Analytics

O padrão ODBC corresponde bastante ao padrão ISO e os aplicativos ODBC esperam o comportamento padrão de um driver ODBC. Para tornar seu comportamento mais compatível com o definido no padrão ODBC, o driver ODBC do SQL Server Native Client sempre usa todas as opções ISO disponíveis na versão do SQL Server com a qual ele se conecta.

Quando o driver ODBC do SQL Server Native Client se conecta a uma instância do SQL Server, o servidor detecta que o cliente está usando o driver ODBC do SQL Server Native Client e define várias opções.

O próprio driver emite estas instruções; o aplicativo ODBC não faz nada para solicitá-las. A configuração dessas opções permite que os aplicativos ODBC que usam o driver sejam mais portáteis, pois o comportamento do servidor corresponde então ao padrão ISO.

Em geral, os aplicativos baseados na DB-Library não ativam essas opções. Os sites que observam um comportamento diferente entre clientes ODBC ou DB-Library ao executar a mesma instrução SQL não devem presumir que isso aponta para um problema com o driver ODBC do SQL Server Native Client. Primeiro, eles devem executar novamente a instrução no ambiente da biblioteca de banco de dados com as mesmas opções SET que seriam usadas pelo driver ODBC do SQL Server Native Client.

Como as opções SET podem ser ativadas e desativadas a qualquer momento por usuários e aplicativos, os desenvolvedores de procedimentos armazenados e de gatilhos também devem tomar o cuidado de testar seus procedimentos e gatilhos com as opções SET listadas acima ativadas e desativadas. Isso garante que os procedimentos e gatilhos funcionem corretamente, independentemente das opções que uma conexão específica possa ter ativado ao invocar o procedimento ou o gatilho. Os gatilhos ou os procedimentos armazenados que necessitam de uma determinada configuração para uma dessas opções deve emitir uma instrução SET no início do gatilho ou do procedimento armazenado. Essa instrução SET permanece em vigor apenas para a execução do gatilho ou do procedimento armazenado; quando o procedimento ou o gatilho é concluído, a configuração original é restaurada.

Quando conectado a uma instância do SQL Server, uma quarta opção SET, CONCAT_NULL_YIELDS_NULL, também é ativada. O driver ODBC do SQL Server Native Client não definirá essas opções se AnsiNPW=NO for especificado na fonte de dados ou em SQLDriverConnect ou SQLBrowseConnect.

Assim como as opções ISO observadas anteriormente, o driver ODBC do SQL Server Native Client não ativará a opção QUOTED_IDENTIFIER se QuotedID=NO for especificado na fonte de dados ou em SQLDriverConnect ou SQLBrowseConnect.

Para permitir que o driver saiba o estado atual das opções SET, os aplicativos ODBC não devem usar a instrução Transact-SQL SET para definir essas opções. Eles devem definir essas opções usando apenas a fonte de dados ou as opções de conexão. Se o aplicativo emitir instruções SET, o driver poderá gerar instruções SQL incorretas.

Confira também

Executnado instruções (ODBC)
SQLDriverConnect
SQLBrowseConnect