Construir instruções SQL interoperáveis
Conforme mencionado nas seções anteriores, os aplicativos interoperáveis devem usar a gramática ODBC SQL. Além de usar essa gramática, no entanto, uma série de problemas adicionais são enfrentados por aplicativos interoperáveis. Por exemplo, o que um aplicativo faz se quiser usar um recurso, como junções externas, que não é suportado por todas as fontes de dados?
Neste ponto, o gravador do aplicativo deve tomar algumas decisões sobre quais recursos de linguagem são necessários e quais são opcionais. Na maioria dos casos, se um driver específico não suporta um recurso exigido pelo aplicativo, o aplicativo simplesmente se recusa a ser executado com esse driver. No entanto, se o recurso for opcional, o aplicativo pode contornar o recurso. Por exemplo, ele pode desabilitar as partes da interface que permitem que o usuário use o recurso.
Para determinar quais recursos são suportados, os aplicativos começam chamando SQLGetInfo com a opção SQL_SQL_CONFORMANCE. O nível de conformidade SQL fornece ao aplicativo uma visão ampla de qual SQL é suportado. Para refinar essa exibição, o aplicativo chama SQLGetInfo com qualquer uma das várias outras opções. Para obter uma lista completa dessas opções, consulte a descrição da função SQLGetInfo. Finalmente, SQLGetTypeInfo retorna informações sobre os tipos de dados suportados pela fonte de dados. As seções a seguir listam vários fatores possíveis que os aplicativos devem observar ao construir instruções SQL interoperáveis.
Esta seção contém os tópicos a seguir.