Secuencias de escape de ODBC

Varias características de lenguaje, como combinaciones externas y llamadas a funciones escalares, se implementan normalmente mediante DBMS. Sin embargo, las sintaxis de estas características tienden a ser específicas de DBMS, incluso cuando las sintaxis estándar se definen mediante los distintos cuerpos de estándares. Por este motivo, ODBC define secuencias de escape que contienen sintaxis estándar para las siguientes características de lenguaje:

  • Fecha, hora, marca de tiempo y literales de intervalo de datetime

  • Funciones escalares, como funciones numéricas, de cadena y de conversión de tipos de datos

  • COMO carácter de Escape de predicado

  • Combinaciones externas

  • Llamadas a procedimientos

La secuencia de escape usada por ODBC es la siguiente:

  
(extension)  
  

Comentarios

La secuencia de escape se reconoce y analiza mediante los controladores, que reemplazan las secuencias de escape por gramática específica de DBMS. Para obtener más información sobre la sintaxis de secuencia de escape, vea Secuencias de escape de Odbc en el Anexo C: Gramática de SQL.

Nota:

En ODBC 2.x, esta era la sintaxis estándar de la secuencia de escape: --(*vendor(vendor-name), product(product-name)extension *)--

Además de esta sintaxis, se definió una sintaxis abreviada con el formato: {extension}

En ODBC 3.x, la forma larga de la secuencia de escape ha quedado en desuso y se usa exclusivamente la forma abreviada.

Dado que el controlador asigna las secuencias de escape a sintaxis específicas de DBMS, una aplicación puede usar la secuencia de escape o la sintaxis específica de DBMS. Sin embargo, las aplicaciones que usan la sintaxis específica de DBMS no serán interoperables. Al usar la secuencia de escape, las aplicaciones deben asegurarse de que el atributo de instrucción SQL_ATTR_NOSCAN está desactivado (lo está de forma predeterminada). De lo contrario, la secuencia de escape se enviará directamente al origen de datos, donde generalmente provocará un error de sintaxis.

Los controladores solo admiten esas secuencias de escape que pueden asignar a las características de lenguaje subyacentes. Por ejemplo, si el origen de datos no admite combinaciones externas, tampoco lo hará el controlador. Para determinar qué secuencias de escape se admiten, una aplicación llama a SQLGetTypeInfo y SQLGetInfo. Para obtener más información, consulte la sección siguiente, Fecha, hora y literales de marca de tiempo.

Esta sección contiene los temas siguientes.