在SQLNativeSql() function文档的底部,似乎表明ODBC驱动程序执行翻译。
它说:
以下是SQLNativeSql可能为包含标量函数CONVERT的以下输入SQL字符串返回的示例。假设列empid在数据源中的类型为INTEGER:SELECT { fn CONVERT (empid, SQL_SMALLINT) } FROM employeeMicrosoft SQL Server的驱动程序可能会返回以下已翻译的SQL字符串:SELECT convert (smallint, empid) FROM employeeORACLE Server的驱动程序可能会返回以下已翻译的SQL字符串:SELECT to_number (empid) FROM employeeIngres的驱动程序可能会返回以下已翻译的SQL字符串:SELECT int2 (empid) FROM employee
这是真的吗? ODBC 真的可以转换SQL查询,这样理想情况下,您的应用程序可以通过ODBC发送查询在任何数据库系统上运行吗?
在实践中这确实有效吗?
在哪里可以找到“ODBC SQL语法”列表?
答案 0 :(得分:1)
翻译取决于驱动程序本身。在许多情况下,它将返回您提供的确切SQL语句。因此,没有ODBC不提供灵丹妙药。您仍然需要担心运行查询的数据库。如果使用多个数据库引擎,则应用程序必须为每个引擎定制查询(或使用在所有数据库上运行的通用SQL)。