Efeitos das opções ISO
O padrão ODBC corresponde bastante ao padrão ISO e os aplicativos ODBC esperam o comportamento padrão de um driver ODBC. Para fazer seu comportamento se conformar melhor com aquele definido no padrão ODBC, o driver ODBC do SQL Server Native Client sempre usa qualquer opção ISO disponível 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 se o cliente está usando o driver ODBC do SQL Server Native Client e ativa 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. Sites que observam comportamentos diferentes entre clientes ODBC ou DB-Library ao executar a mesma instrução SQL não deve presumir que esses pontos sejam um problema com o driver ODBC do SQL Server Native Client. Primeiro, eles devem executar novamente a instrução no ambiente DB-Library 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 ativará essas opções se AnsiNPW=NO for especificado na fonte de dados, ou em SQLDriverConnect ou em SQLBrowseConnect.
Da mesma forma que 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 em SQLBrowseConnect.
Para permitir que o driver saiba o estado atual das opções SET, os aplicativos ODBC não devem usar a instrução SET do Transact-SQL 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.