2009-07-17 84 views
1

SQLNativeSql() function文檔的底部看來,似乎表明ODBC驅動程序執行轉換利用ODBC轉換功能

它說:

下面是什麼SQLNativeSql可能返回包含標量函數CONVERT下面輸入SQL字符串的例子。假設列EMPID爲整數類型的數據源:
 
SELECT { fn CONVERT (empid, SQL_SMALLINT) } FROM employee 
一種用於微軟SQL Server可能會返回下面的翻譯SQL字符串司機:
 
SELECT convert (smallint, empid) FROM employee 
一種ORACLE Server驅動程序可能會返回下面的翻譯SQL字符串:
 
SELECT to_number (empid) FROM employee 
一種安格爾驅動程序可能返回以下翻譯SQL字符串:
 
SELECT int2 (empid) FROM employee 

這是真的嗎? ODBC 真的可以通過轉換SQL查詢,因此理想情況下,您的應用程序可以通過ODBC發送查詢在任何數據庫系統上運行?

在實踐中,這實際上是否工作?

哪裏可以找到「ODBC SQL語法」列表?

回答

1

翻譯取決於驅動程序本身。在很多情況下,它會返回您提供的確切SQL語句。所以,沒有ODBC不提供一個靈丹妙藥。您仍然需要擔心正在運行查詢的數據庫。如果使用多個數據庫引擎,則應用程序必須爲每個引擎定製查詢(或者使用運行在所有數據庫上的通用SQL)。