Partilhar via


Sequências de fuga em ODBC

Várias funcionalidades da linguagem, como joins externos e chamadas de funções escalares, são frequentemente implementadas por SGBD. No entanto, as sintaxes destas funcionalidades tendem a ser específicas do SGBD, mesmo quando as sintaxes padrão são definidas pelas várias organizações de padronização. Por causa disso, o ODBC define sequências de escape que contêm sintaxes padrão para as seguintes funcionalidades da linguagem:

  • Data, hora, carimbo temporal e intervalo de data e hora literal

  • Funções escalares como funções de conversão numérica, de cadeia e de tipos de dados

  • Caráter de escape do predicado LIKE

  • Junções exteriores

  • Chamadas de procedimento

A sequência de escape usada pelo ODBC é a seguinte:

  
(extension)  
  

Observações

A sequência de escape é reconhecida e analisada por drivers, que substituem as sequências de escape por gramática específica do SGBD. Para mais informações sobre a sintaxe das sequências de escape, consulte Sequências de Escape ODBC no Apêndice C: Gramática SQL.

Observação

No ODBC 2. x, esta era a sintaxe padrão da sequência de escape: --(*Nome-Fornecedor),Produto(Nome-Produto)Extensão*)--

Além desta sintaxe, foi definida uma sintaxe abreviada da forma: {extensão}

No ODBC 3. x, a forma longa da sequência de escape foi obsoleta, e a forma abreviada é usada exclusivamente.

Como as sequências de escape são mapeadas pelo driver para sintaxes específicas do SGBD, uma aplicação pode usar tanto a sequência de escape como a sintaxe específica do SGBD. No entanto, aplicações que utilizam a sintaxe específica do SGBD não serão interoperáveis. Ao usar a sequência de escape, as aplicações devem garantir que o atributo da instrução SQL_ATTR_NOSCAN está desligado, o que está por defeito. Caso contrário, a sequência de escape será enviada diretamente para a fonte de dados, onde geralmente causará um erro de sintaxe.

Os drivers suportam apenas aquelas sequências de escape que podem mapear para as características da linguagem subjacente. Por exemplo, se a fonte de dados não suportar junções externas, o driver também não as suportará. Para determinar quais sequências de escape são suportadas, uma aplicação chama SQLGetTypeInfo e SQLGetInfo. Para mais informações, consulte a seção seguinte, Data, Hora e Literais de Carimbo Temporal.

Esta seção contém os seguintes tópicos.