我們的C++應用程序能夠使用從SQL Server獲取排序列相關的元數據OLEDB API的(使用DBCOLUMN_COLLATINGSEQUENCE
,DBCOLUMN_TDSCOLLATION
等),但我需要使用ODBC作爲我們的應用程序必須是跨平臺的。我們使用ODBC API SQLColAttribute
來讀取行集元數據,但是此API沒有任何可以返回排序規則名稱的標識符。如何使用ODBC API讀取SQL Server列整理元數據?
我嘗試使用SQL_CA_SS_COLUMN_COLLATION
(在sqlncli.h
中定義)作爲標識符,但SQLColAttribute
僅返回「整理名稱」作爲整理。
我也嘗試使用SQLGetStmtAttr
後跟SQLGetDescField
,使用相同的標識符,並且我得到了「排序規則名稱」。
我已經搜遍了所有MSDN的答案,但一直沒能找到任何。我可以從INFORMATION_SCHEMA.COLUMNS
獲得排序規則名稱,但這對於查詢返回的計算列不起作用。
我正在尋找一種乾淨的方式,使用ODBC從結果集元數據中獲取排序規則信息。有任何想法嗎?
謝謝。我無法使用ODBC獲取排序規則。我選擇查詢INFORMATION_SCHEMA.COLUMNS以獲取歸類信息。這對計算字段不起作用,但看起來這是我們能做的最好的。由Max提出的解決方案是類似於INFORMATION_SCHEMA.COLUMNS解決方案。 – user2237963