Использование возможностей перевода ODBC - PullRequest
1 голос
/ 18 июля 2009

Внизу документации SQLNativeSql () , похоже, указано, что драйверы ODBC выполняют перевод .

Там написано:

Ниже приведены примеры того, что SQLNativeSql может вернуть для следующей входной строки SQL, содержащей скалярную функцию CONVERT. Предположим, что столбец empid имеет тип INTEGER в источнике данных:
SELECT { fn CONVERT (empid, SQL_SMALLINT) } FROM employee
Драйвер для Microsoft SQL Server может вернуть следующую переведенную строку SQL:
SELECT convert (smallint, empid) FROM employee
Драйвер для сервера ORACLE может вернуть следующую переведенную строку SQL:
SELECT to_number (empid) FROM employee
Драйвер для Ingres может вернуть следующую переведенную строку SQL:
SELECT int2 (empid) FROM employee

Это правда? Может ли ODBC действительно преобразовывать запросы SQL, чтобы в идеале ваше приложение могло работать в любой системе баз данных, отправляя запросы через ODBC?

На практике это действительно работает?

Где можно найти список "Синтаксис ODBC SQL"?

1 Ответ

1 голос
/ 29 декабря 2009

Перевод зависит от самого драйвера. Во многих случаях он вернет тот оператор SQL, который вы ему дадите. Итак, ни один ODBC не предоставляет волшебную пулю. Вам все еще нужно беспокоиться о базе данных, к которой вы выполняете запросы. Если используется несколько механизмов баз данных, приложение должно адаптировать запросы к каждому (или использовать общий SQL, который выполняется на всех них).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...