Udostępnij przez


Programowanie zestawu właściwości SQLPROPSET_OPTHINTS

Poszczególnych dostawców OLE DB mogą obsługiwać niektóre funkcje SQL poza zdefiniowanego w DBPROPVAL_SQL_SUBMINIMUM, ale nie wszystkie funkcje w DBPROPVAL_SQL_ODBC_CORE lub DBPROPVAL_SQL_ANSI92_ENTRY. SQL Serveroptymalizator kwerendy Można użyć niektórych funkcji obsługiwana przez powyższe sterowniki zwiększają wydajność kwerend rozproszonych. Tych dostawców można użyć SQLPROPzestaw_OPTHINTS właściwość zestaw poinformować SQL Server obsługują te funkcje, szybkość kwerend rozproszonych.

Chociaż zestaw właściwość SQLPROPSET_OPTHINTS jest zdefiniowany w SQL Server dokumentacji, Każdy deweloper dostawca OLE DB musi kod obsługi dla właściwość ustawione w swoich dostawców.Po wsparcia dla tej właściwość jest kodowana zestaw do dostawca, SQL Server używa go, aby zoptymalizować wydajność kwerend rozproszonych.

Dostawców OLE DB, które obsługują DBPROPVAL_SQL_ANSI92_ENTRY lub DBPROPVAL_SQL_ODBC_CORE jednej z właściwości SQLPROPSET_OPTHINTS, z wyjątkiem SQLPROP_DATELITERALS nie jest konieczne.Ci dostawcy musi obsługiwać wszystkich funkcji objętych SQLPROPSET_OPTHINTS zestaw właściwość (z wyjątkiem SQLPROP_DATELITERALS) Aby kwalifikować się do wsparcia DBPROPVAL_SQL_ANSI92_ENTRY lub DBPROPVAL_SQL_ODBC_CORE.

Poniższa tabela zawiera listę właściwości, które zostały zgłoszone przez SQLPROPSET_OPTHINTS.

Właściwość

Opis

SQLPROP_ANSILIKE

Określa klauzula LIKE jest obsługiwana, jak zdefiniowano w ISO wejścia poziomu za pomocą znaków wieloznacznych % i _.

SQLPROP_DATELITERALS

Określa, że dostawca obsługuje datetime literały lub stałych, jak Transact-SQL składni.

SQLPROP_DYNAMICSQL

Określa dostawca obsługuje składni znacznik parametru ODBC za pomocą znaków zapytania ( ? ).

SQLPROP_INNERJOIN

Określa dostawca obsługuje odwołania do wielu tabel w klauzula WHERE, jak długo nie są sprzężenie zewnętrzne odwołania.

SQLPROP_GROUPBY

Określa dostawca obsługuje klauzul Grupuj według i HAVING w instrukcja SELECT.Właściwość określa również dostawca obsługuje funkcje agregujące średnia, licznik, MIN, MAX i wartość zagregowana jak DISTINCT nie jest określony jako argument wartość zagregowana.

SQLPROP_NESTEDQUERIES

Określa dostawca obsługuje zagnieżdżonych instrukcji SELECT w klauzula FROM.

SQLPROP_SQLLIKE

Wskazuje, że dostawca obsługuje SQL Server jak składni.Po SQLPROP_SQLLIKE na Optymalizator można wysyłać kwerendy zawierającej SQL Server jak predykat do zdalnego serwera, jeśli jest to uzasadnione planu kwerend.Jeśli SQLPROP_SQLLIKE jest wyłączone, SQL Server jak predykat jest obliczane zawsze lokalnie.

SQLPROP_SUBQUERIES

Określa dostawca obsługuje podkwerendy, jak zdefiniowano w ISO poziom wejścia.

Oto stałych, które są używane do definiowania SQLPROPzestaw_OPTHINTS właściwość zestaw w kodzie dostawców OLE DB:

Extern const GUID SQLPROPSET_OPTHINTS =
{ 0x2344480c, 0x33a7, 0x11d1,
     { 0x9b, 0x1a, 0x0, 0x60, 0x8, 0x26, 0x8b, 0x9e }
};
enum SQLPROPERTIES
{
     SQLPROP_NESTEDQUERIES = 0x4,
     SQLPROP_DYNAMICSQL = 0x5,
     SQLPROP_GROUPBY = 0x6,
     SQLPROP_DATELITERALS = 0x7,
     SQLPROP_ANSILIKE = 0x8,
     SQLPROP_INNERJOIN = 0x9,
     SQLPROP_SUBQUERIES = 0x10,
     SQLPROP_SQLLIKE = 0x15
}