Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Zgodność
Wersja wprowadzona: Zgodność ze standardami ODBC 1.0: ISO 92
Podsumowanie
Funkcja SQLGetInfo zwraca ogólne informacje o sterowniku i źródle danych skojarzonym z połączeniem.
Składnia
SQLRETURN SQLGetInfo(
SQLHDBC ConnectionHandle,
SQLUSMALLINT InfoType,
SQLPOINTER InfoValuePtr,
SQLSMALLINT BufferLength,
SQLSMALLINT * StringLengthPtr);
Arguments
ConnectionHandle
[Dane wejściowe] Uchwyt połączenia.
Typ informacji
[Dane wejściowe] Typ informacji.
InfoValuePtr
[Dane wyjściowe] Wskaźnik do buforu, w którym mają być zwracane informacje. W zależności od żądanego parametru InfoType zwrócone informacje będą jedną z następujących wartości: ciąg znaków zakończony o wartości null, wartość SQLUSMALLINT, maska bitów SQLUINTEGER, flaga SQLUINTEGER, wartość binarna SQLUINTEGER lub wartość binarna SQLULEN.
Jeśli argument InfoType jest SQL_DRIVER_HDESC lub SQL_DRIVER_HSTMT, argument InfoValuePtr jest zarówno wejściowy, jak i wyjściowy. (Zobacz deskryptory SQL_DRIVER_HDESC lub SQL_DRIVER_HSTMT w dalszej części tego opisu funkcji, aby uzyskać więcej informacji).
Jeśli parametr InfoValuePtr ma wartość NULL, funkcja StringLengthPtr nadal zwróci łączną liczbę bajtów (z wyłączeniem znaku zakończenia wartości null dla danych znaków) dostępną do zwrócenia w buforze wskazywanym przez element InfoValuePtr.
BufferLength
[Dane wejściowe] Długość buforu *InfoValuePtr . Jeśli wartość w elemencie *InfoValuePtr nie jest ciągiem znaków lub jeśli element InfoValuePtr jest wskaźnikiem null, argument BufferLength jest ignorowany. Sterownik zakłada, że rozmiar *InfoValuePtr to SQLUSMALLINT lub SQLUINTEGER na podstawie typu InfoType. Jeśli *InfoValuePtr jest ciągiem Unicode (podczas wywoływania polecenia SQLGetInfoW), argument BufferLength musi być liczbą parzystą; Jeśli nie, zwracany jest parametr HY090 SQLSTATE (nieprawidłowy ciąg lub długość buforu).
StringLengthPtr
[Dane wyjściowe] Wskaźnik do buforu, w którym ma zwrócić całkowitą liczbę bajtów (z wyłączeniem znaku zakończenia wartości null dla danych znaków) dostępnych do zwrócenia w *InfoValuePtr.
W przypadku danych znaków, jeśli liczba dostępnych bajtów do zwrócenia jest większa lub równa BufferLength, informacje w elemencie *InfoValuePtr są obcinane do bajtów BufferLength pomniejszone o długość znaku zakończenia wartości null i są przerywane przez sterownik.
Dla wszystkich innych typów danych wartość BufferLength jest ignorowana, a sterownik przyjmuje rozmiar *InfoValuePtr to SQLUSMALLINT lub SQLUINTEGER, w zależności od typu infotype.
Zwroty
SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_ERROR lub SQL_INVALID_HANDLE.
Diagnostyka
Gdy funkcja SQLGetInfo zwraca wartość SQL_ERROR lub SQL_SUCCESS_WITH_INFO, skojarzona wartość SQLSTATE może zostać uzyskana przez wywołanie metody SQLGetDiagRec z właściwością HandleType SQL_HANDLE_DBC i dojściemConnectionHandle. W poniższej tabeli wymieniono wartości SQLSTATE zwykle zwracane przez polecenie SQLGetInfo i objaśnia je w kontekście tej funkcji; notacja "(DM)" poprzedza opisy obiektów SQLSTATEs zwróconych przez menedżera sterowników. Kod zwracany skojarzony z każdą wartością SQLSTATE jest SQL_ERROR, chyba że określono inaczej.
| SQLSTATE | Błąd | Opis |
|---|---|---|
| 01000 | Ostrzeżenie ogólne | Komunikat informacyjny specyficzny dla sterownika. (Funkcja zwraca SQL_SUCCESS_WITH_INFO). |
| 01004 | Dane ciągów, prawe obcięte | Bufor *InfoValuePtr nie był wystarczająco duży, aby zwrócić wszystkie żądane informacje. W związku z tym informacje zostały obcięte. Długość żądanych informacji w nieuprawnionym formularzu jest zwracana w *StringLengthPtr. (Funkcja zwraca SQL_SUCCESS_WITH_INFO). |
| 08003 | Połączenie nie jest otwarte | (DM) Typ informacji żądanych w programie InfoType wymaga otwartego połączenia. Spośród typów informacji zarezerwowanych przez ODBC można zwrócić tylko SQL_ODBC_VER bez otwartego połączenia. |
| 08S01 | Błąd połączenia komunikacyjnego | Połączenie komunikacyjne między sterownikiem a źródłem danych, z którym sterownik został połączony, nie powiodło się przed zakończeniem przetwarzania funkcji. |
| HY000 | Błąd ogólny | Wystąpił błąd, dla którego nie było określonego stanu SQLSTATE i dla którego nie zdefiniowano parametru SQLSTATE specyficznego dla implementacji. Komunikat o błędzie zwrócony przez element SQLGetDiagRec w buforze *MessageText opisuje błąd i jego przyczynę. |
| HY001 | Błąd alokacji pamięci | Sterownik nie może przydzielić pamięci wymaganej do obsługi wykonywania lub ukończenia funkcji. |
| HY010 | Błąd sekwencji funkcji | (DM) SqlExecute, SQLExecDirect lub SQLMoreResults została wywołana dla instrukcji StatementHandle i zwrócona SQL_PARAM_DATA_AVAILABLE. Ta funkcja została wywołana przed pobraniem danych dla wszystkich parametrów przesyłanych strumieniowo. |
| HY013 | Błąd zarządzania pamięcią | Nie można przetworzyć wywołania funkcji, ponieważ nie można uzyskać dostępu do bazowych obiektów pamięci, prawdopodobnie z powodu niskich warunków pamięci. |
| HY024 | Nieprawidłowa wartość atrybutu | (DM) Argument InfoType został SQL_DRIVER_HSTMT, a wartość wskazywana przez element InfoValuePtr nie była prawidłowym uchwytem instrukcji. (DM) Argument InfoType został SQL_DRIVER_HDESC, a wartość wskazywana przez element InfoValuePtr nie była prawidłowym uchwytem deskryptora. |
| HY090 | Nieprawidłowa długość ciągu lub buforu | (DM) Wartość określona dla argumentu BufferLength była mniejsza niż 0. (DM) Wartość określona dla BufferLength była liczbą nieparzystą, a *InfoValuePtr był typem danych Unicode. |
| HY096 | Typ informacji poza zakresem | Wartość określona dla argumentu InfoType jest nieprawidłowa dla wersji ODBC obsługiwanej przez sterownik. |
| HY117 | Połączenie jest zawieszone z powodu nieznanego stanu transakcji. Dozwolone są tylko funkcje rozłączania i tylko do odczytu. | (DM) Aby uzyskać więcej informacji na temat stanu wstrzymania, zobacz SQLEndTran, funkcja. |
| HYC00 | Pole opcjonalne nie zostało zaimplementowane | Wartość określona dla argumentu InfoType była wartością specyficzną dla sterownika, która nie jest obsługiwana przez sterownik. |
| HYT01 | Upłynął limit czasu połączenia | Okres przekroczenia limitu czasu połączenia wygasł, zanim źródło danych odpowiedziało na żądanie. Limit czasu połączenia jest ustawiany za pomocą parametru SQLSetConnectAttr, SQL_ATTR_CONNECTION_TIMEOUT. |
| IM001 | Sterownik nie obsługuje tej funkcji | (DM) Sterownik odpowiadający funkcji ConnectionHandle nie obsługuje funkcji. |
Comments
Obecnie zdefiniowane typy informacji są wyświetlane w sekcji "Typy informacji", w dalszej części tej sekcji; oczekuje się, że więcej zostanie zdefiniowanych w celu skorzystania z różnych źródeł danych. Zakres typów informacji jest zarezerwowany przez ODBC; deweloperzy sterowników muszą zarezerwować wartości dla własnego użycia specyficznego dla sterownika z grupy open. SqlGetInfo nie wykonuje konwersji Unicode ani thunking (zobacz Dodatek A: Kody błędów ODBCodwołania programisty ODBC) dla zdefiniowanych przez sterownik typów informacji. Aby uzyskać więcej informacji, zobacz Typy danych specyficzne dla sterownika, typy deskryptorów, typy informacji, typy diagnostyczne i atrybuty. Format informacji zwracanych w elemecie *InfoValuePtr zależy od żądanego typu informacji . Funkcja SQLGetInfo zwróci informacje w jednym z pięciu różnych formatów:
Ciąg znaków o wartości null
Wartość SQLUSMALLINT
Maska bitów SQLUINTEGER
Wartość SQLUINTEGER
Wartość binarna SQLUINTEGER
Format każdego z następujących typów informacji jest zanotowany w opisie typu. Aplikacja musi rzutować wartość zwróconą w *InfoValuePtr odpowiednio. Aby zapoznać się z przykładem sposobu, w jaki aplikacja może pobrać dane z maski bitów SQLUINTEGER, zobacz "Przykład kodu".
Sterownik musi zwrócić wartość dla każdego typu informacji zdefiniowanego w poniższych tabelach. Jeśli typ informacji nie ma zastosowania do sterownika lub źródła danych, sterownik zwraca jedną z wartości wymienionych w poniższej tabeli.
| Typ informacji | Wartość |
|---|---|
| Ciąg znaków ("Y" lub "N") | "N" |
| Ciąg znaków (nie "Y" lub "N") | Pusty ciąg |
| SQLUSMALLINT | 0 |
| Maska bitów SQLUINTEGER lub wartość binarna SQLUINTEGER | 0L |
Jeśli na przykład źródło danych nie obsługuje procedur, funkcja SQLGetInfo zwraca wartości wymienione w poniższej tabeli dla wartości InfoType powiązanych z procedurami.
| Typ informacji | Wartość |
|---|---|
| SQL_PROCEDURES | "N" |
| SQL_ACCESSIBLE_PROCEDURES | "N" |
| SQL_MAX_PROCEDURE_NAME_LEN | 0 |
| SQL_PROCEDURE_TERM | Pusty ciąg |
Funkcja SQLGetInfo zwraca wartość SQLSTATE HY096 (nieprawidłowa wartość argumentu) dla wartości typu InfoType , które znajdują się w zakresie typów informacji zarezerwowanych do użycia przez ODBC, ale nie są zdefiniowane przez wersję ODBC obsługiwaną przez sterownik. Aby określić, jaka wersja odBC jest zgodna ze sterownikiem, aplikacja wywołuje element SQLGetInfo z typem informacji SQL_DRIVER_ODBC_VER. Funkcja SQLGetInfo zwraca wartość SQLSTATE HYC00 (opcjonalna funkcja nie zaimplementowana) dla wartości typu InfoType , które znajdują się w zakresie typów informacji zarezerwowanych do użycia specyficznego dla sterownika, ale nie są obsługiwane przez sterownik.
Wszystkie wywołania polecenia SQLGetInfo wymagają otwartego połączenia, z wyjątkiem sytuacji, gdy parametr InfoType jest SQL_ODBC_VER, który zwraca wersję Menedżera sterowników.
Typy informacji
W tej sekcji wymieniono typy informacji obsługiwane przez polecenie SQLGetInfo. Typy informacji są pogrupowane według kategorii i alfabetycznie. Wyświetlane są również typy informacji, które zostały dodane lub zmienione dla odBC 3*.x*.
Informacje o sterowniku
Następujące wartości argumentu InfoType zwracają informacje o sterowniku ODBC, takie jak liczba aktywnych instrukcji, nazwa źródła danych i poziom zgodności standardów interfejsu:
SQL_ACTIVE_ENVIRONMENTS
SQL_ASYNC_DBC_FUNCTIONS
SQL_ASYNC_MODE
SQL_ASYNC_NOTIFICATION
SQL_BATCH_ROW_COUNT
SQL_BATCH_SUPPORT
SQL_DATA_SOURCE_NAME
SQL_DRIVER_AWARE_POOLING_SUPPORTED
SQL_DRIVER_HDBC
SQL_DRIVER_HDESC
SQL_DRIVER_HENV
SQL_DRIVER_HLIB
SQL_DRIVER_HSTMT
SQL_DRIVER_NAME
SQL_DRIVER_ODBC_VER
SQL_DRIVER_VER
SQL_DYNAMIC_CURSOR_ATTRIBUTES1
SQL_DYNAMIC_CURSOR_ATTRIBUTES2
SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1
SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2
SQL_FILE_USAGE
SQL_GETDATA_EXTENSIONS
SQL_INFO_SCHEMA_VIEWS
SQL_KEYSET_CURSOR_ATTRIBUTES1
SQL_KEYSET_CURSOR_ATTRIBUTES2
SQL_MAX_ASYNC_CONCURRENT_STATEMENTS
SQL_MAX_CONCURRENT_ACTIVITIES
SQL_MAX_DRIVER_CONNECTIONS
SQL_ODBC_INTERFACE_CONFORMANCE
SQL_ODBC_VER
SQL_PARAM_ARRAY_ROW_COUNTS
SQL_PARAM_ARRAY_SELECTS
SQL_ROW_UPDATES
SQL_SEARCH_PATTERN_ESCAPE
SQL_SERVER_NAME
SQL_STANDARD_CLI_CONFORMANCE
SQL_STATIC_CURSOR_ATTRIBUTES1
SQL_STATIC_CURSOR_ATTRIBUTES2
Uwaga / Notatka
Podczas implementowania polecenia SQLGetInfo sterownik może zwiększyć wydajność, minimalizując liczbę wysyłanych lub żądanych informacji z serwera.
Informacje o produkcie DBMS
Następujące wartości argumentu InfoType zwracają informacje o produkcie DBMS, takie jak nazwa i wersja systemu DBMS:
SQL_DATABASE_NAME
SQL_DBMS_NAME
SQL_DBMS_VER
Informacje o źródle danych
Następujące wartości argumentu InfoType zwracają informacje o źródle danych, takie jak cechy kursora i możliwości transakcji:
SQL_ACCESSIBLE_PROCEDURES
SQL_ACCESSIBLE_TABLES
SQL_BOOKMARK_PERSISTENCE
SQL_CATALOG_TERM
SQL_COLLATION_SEQ
SQL_CONCAT_NULL_BEHAVIOR
SQL_CURSOR_COMMIT_BEHAVIOR
SQL_CURSOR_ROLLBACK_BEHAVIOR
SQL_CURSOR_SENSITIVITY
SQL_DATA_SOURCE_READ_ONLY
SQL_DEFAULT_TXN_ISOLATION
SQL_DESCRIBE_PARAMETER
SQL_MULT_RESULT_SETS
SQL_MULTIPLE_ACTIVE_TXN
SQL_NEED_LONG_DATA_LEN
SQL_NULL_COLLATION
SQL_PROCEDURE_TERM
SQL_SCHEMA_TERM
SQL_SCROLL_OPTIONS
SQL_TABLE_TERM
SQL_TXN_CAPABLE
SQL_TXN_ISOLATION_OPTION
SQL_USER_NAME
Obsługiwana baza danych SQL
Następujące wartości argumentu InfoType zwracają informacje o instrukcjach SQL obsługiwanych przez źródło danych. Składnia SQL każdej funkcji opisanej przez te typy informacji to składnia SQL-92. Te typy informacji nie opisują wyczerpująco całej gramatyki SQL-92. Zamiast tego opisują te części gramatyki, dla których źródła danych zwykle oferują różne poziomy obsługi. W szczególności większość instrukcji DDL w języku SQL-92 jest omówiona.
Aplikacje powinny określić ogólny poziom obsługiwanej gramatyki z SQL_SQL_CONFORMANCE typu informacji i użyć innych typów informacji, aby określić różnice na poziomie zgodności z określonymi standardami.
SQL_AGGREGATE_FUNCTIONS
SQL_ALTER_DOMAIN
SQL_ALTER_SCHEMA
SQL_ALTER_TABLE
SQL_ANSI_SQL_DATETIME_LITERALS
SQL_CATALOG_LOCATION
SQL_CATALOG_NAME
SQL_CATALOG_NAME_SEPARATOR
SQL_CATALOG_USAGE
SQL_COLUMN_ALIAS
SQL_CORRELATION_NAME
SQL_CREATE_ASSERTION
SQL_CREATE_CHARACTER_SET
SQL_CREATE_COLLATION
SQL_CREATE_DOMAIN
SQL_CREATE_SCHEMA
SQL_CREATE_TABLE
SQL_CREATE_TRANSLATION
SQL_DDL_INDEX
SQL_DROP_ASSERTION
SQL_DROP_CHARACTER_SET
SQL_DROP_COLLATION
SQL_DROP_DOMAIN
SQL_DROP_SCHEMA
SQL_DROP_TABLE
SQL_DROP_TRANSLATION
SQL_DROP_VIEW
SQL_EXPRESSIONS_IN_ORDERBY
SQL_GROUP_BY
SQL_IDENTIFIER_CASE
SQL_IDENTIFIER_QUOTE_CHAR
SQL_INDEX_KEYWORDS
SQL_INSERT_STATEMENT
SQL_INTEGRITY
SQL_KEYWORDS
SQL_LIKE_ESCAPE_CLAUSE
SQL_NON_NULLABLE_COLUMNS
SQL_OJ_CAPABILITIES
SQL_ORDER_BY_COLUMNS_IN_SELECT
SQL_OUTER_JOINS
SQL_PROCEDURES
SQL_QUOTED_IDENTIFIER_CASE
SQL_SCHEMA_USAGE
SQL_SPECIAL_CHARACTERS
SQL_SQL_CONFORMANCE
SQL_SUBQUERIES
SQL_UNION
Limity SQL
Następujące wartości argumentu InfoType zwracają informacje o limitach stosowanych do identyfikatorów i klauzul w instrukcjach SQL, takich jak maksymalna długość identyfikatorów i maksymalna liczba kolumn na liście wyboru. Ograniczenia mogą być nakładane przez sterownik lub źródło danych.
SQL_MAX_BINARY_LITERAL_LEN
SQL_MAX_CATALOG_NAME_LEN
SQL_MAX_CHAR_LITERAL_LEN
SQL_MAX_COLUMN_NAME_LEN
Maksymalna liczba kolumn w GROUP BY (SQL_MAX_COLUMNS_IN_GROUP_BY)
SQL_MAX_COLUMNS_IN_INDEX
SQL_MAX_COLUMNS_IN_ORDER_BY
SQL_MAX_COLUMNS_IN_SELECT
SQL_MAX_COLUMNS_IN_TABLE
SQL_MAX_CURSOR_NAME_LEN
SQL_MAX_IDENTIFIER_LEN
SQL_MAX_INDEX_SIZE
SQL_MAX_PROCEDURE_NAME_LEN
SQL_MAX_ROW_SIZE
SQL_MAX_ROW_SIZE_INCLUDES_LONG
SQL_MAX_SCHEMA_NAME_LEN
SQL_MAX_STATEMENT_LEN
SQL_MAX_TABLE_NAME_LEN
SQL_MAX_TABLES_IN_SELECT (maksymalna liczba tabel w selekcie)
SQL_MAX_USER_NAME_LEN
Informacje o funkcji skalarnych
Następujące wartości argumentu InfoType zwracają informacje o funkcjach skalarnych obsługiwanych przez źródło danych i sterownik. Aby uzyskać więcej informacji na temat funkcji skalarnych, zobacz Dodatek E: Funkcje skalarne.
SQL_CONVERT_FUNCTIONS
SQL_NUMERIC_FUNCTIONS
SQL_STRING_FUNCTIONS
SQL_SYSTEM_FUNCTIONS
SQL_TIMEDATE_ADD_INTERVALS
SQL_TIMEDATE_DIFF_INTERVALS
SQL_TIMEDATE_FUNCTIONS
Informacje o konwersji
Następujące wartości argumentu InfoType zwracają listę typów danych SQL, do których źródło danych może przekonwertować określony typ danych SQL za pomocą funkcji skalarnej CONVERT :
SQL_CONVERT_BIGINT
SQL_CONVERT_BINARY
SQL_CONVERT_BIT
SQL_CONVERT_CHAR
SQL_CONVERT_DATE
SQL_CONVERT_DECIMAL
SQL_CONVERT_DOUBLE
SQL_CONVERT_FLOAT
SQL_CONVERT_INTEGER
SQL_CONVERT_INTERVAL_DAY_TIME
SQL_CONVERT_INTERVAL_YEAR_MONTH
SQL_CONVERT_LONGVARBINARY
SQL_CONVERT_LONGVARCHAR
SQL_CONVERT_NUMERIC
SQL_CONVERT_REAL
SQL_CONVERT_SMALLINT
SQL_CONVERT_TIME
SQL_CONVERT_TIMESTAMP
SQL_CONVERT_TINYINT
SQL_CONVERT_VARBINARY
SQL_CONVERT_VARCHAR
Dodano typy informacji dla odBC 3.x
Dodano następujące wartości argumentu InfoType dla odBC 3.x:
SQL_ACTIVE_ENVIRONMENTS
SQL_AGGREGATE_FUNCTIONS
SQL_ALTER_DOMAIN
SQL_ALTER_SCHEMA
SQL_ANSI_SQL_DATETIME_LITERALS
SQL_ASYNC_DBC_FUNCTIONS
SQL_ASYNC_MODE
SQL_ASYNC_NOTIFICATION
SQL_BATCH_ROW_COUNT
SQL_BATCH_SUPPORT
SQL_CATALOG_NAME
SQL_COLLATION_SEQ
SQL_CONVERT_INTERVAL_DAY_TIME
SQL_CONVERT_INTERVAL_YEAR_MONTH
SQL_CREATE_ASSERTION
SQL_CREATE_CHARACTER_SET
SQL_CREATE_COLLATION
SQL_CREATE_DOMAIN
SQL_CREATE_SCHEMA
SQL_CREATE_TABLE
SQL_CREATE_TRANSLATION
SQL_CURSOR_SENSITIVITY
SQL_DDL_INDEX
SQL_DESCRIBE_PARAMETER
SQL_DM_VER
SQL_DRIVER_AWARE_POOLING_SUPPORTED
SQL_DRIVER_HDESC
SQL_DROP_ASSERTION
SQL_DROP_CHARACTER_SET
SQL_DROP_COLLATION
SQL_DROP_DOMAIN
SQL_DROP_SCHEMA
SQL_DROP_TABLE
SQL_DROP_TRANSLATION
SQL_DROP_VIEW
SQL_DYNAMIC_CURSOR_ATTRIBUTES1
SQL_DYNAMIC_CURSOR_ATTRIBUTES2
SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1
SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2
SQL_INFO_SCHEMA_VIEWS
SQL_INSERT_STATEMENT
SQL_KEYSET_CURSOR_ATTRIBUTES1
SQL_KEYSET_CURSOR_ATTRIBUTES2
SQL_MAX_ASYNC_CONCURRENT_STATEMENTS
SQL_MAX_IDENTIFIER_LEN
SQL_PARAM_ARRAY_ROW_COUNTS
SQL_PARAM_ARRAY_SELECTS
SQL_STATIC_CURSOR_ATTRIBUTES1
SQL_STATIC_CURSOR_ATTRIBUTES2
SQL_XOPEN_CLI_YEAR
Zmieniono nazwę typów informacji dla ODBC 3.x
Nazwy następujących wartości argumentu InfoType zostały zmienione na ODBC 3.x.
| Stara nazwa | Nowa nazwa |
|---|---|
| SQL_ACTIVE_CONNECTIONS | SQL_MAX_DRIVER_CONNECTIONS |
| SQL_ACTIVE_STATEMENTS | SQL_MAX_CONCURRENT_ACTIVITIES |
| SQL_MAX_OWNER_NAME_LEN | SQL_MAX_SCHEMA_NAME_LEN |
| SQL_MAX_QUALIFIER_NAME_LEN | SQL_MAX_CATALOG_NAME_LEN |
| SQL_ODBC_SQL_OPT_IEF | SQL_INTEGRITY |
| SQL_OWNER_TERM | SQL_SCHEMA_TERM |
| SQL_OWNER_USAGE | SQL_SCHEMA_USAGE |
| SQL_QUALIFIER_LOCATION | SQL_CATALOG_LOCATION |
| SQL_QUALIFIER_NAME_SEPARATOR | SQL_CATALOG_NAME_SEPARATOR |
| SQL_QUALIFIER_TERM | SQL_CATALOG_TERM |
| SQL_QUALIFIER_USAGE | SQL_CATALOG_USAGE |
Typy informacji przestarzałe w wersji ODBC 3.x
Następujące wartości argumentu InfoType zostały wycofane w wersji ODBC 3.x. Sterowniki ODBC 3.x muszą nadal obsługiwać te typy informacji w celu zapewnienia zgodności z poprzednimi wersjami aplikacji ODBC 2.x. (Aby uzyskać więcej informacji na temat tych typów, zobacz SQLGetInfo Support in Appendix G: Driver Guidelines for Backward Compatibility ( Obsługa funkcji SQLGetInfo w dodatku G: Wytyczne dotyczące sterowników dotyczących zgodności z poprzednimi wersjami).
SQL_FETCH_DIRECTION
SQL_LOCK_TYPES
SQL_ODBC_API_CONFORMANCE
SQL_ODBC_SQL_CONFORMANCE
SQL_POS_OPERATIONS
SQL_POSITIONED_STATEMENTS
SQL_SCROLL_CONCURRENCY
SQL_STATIC_SENSITIVITY
Opisy typów informacji
W poniższej tabeli alfabetycznie wymieniono każdy typ informacji, wersję ODBC, w której została wprowadzona, oraz jej opis.
| Typ informacji | Wersja ODBC | Opis |
|---|---|---|
| SQL_ACCESSIBLE_PROCEDURES | 1.0 | Ciąg znaków: "Y", jeśli użytkownik może wykonać wszystkie procedury zwrócone przez metodę SQLProcedures; "N", jeśli mogą zostać zwrócone procedury, których użytkownik nie może wykonać. |
| SQL_ACCESSIBLE_TABLES | 1.0 | Ciąg znaków: "Y", jeśli użytkownik ma gwarantowane uprawnienia SELECT do wszystkich tabel zwracanych przez tabele SQLTables; "N", jeśli mogą zostać zwrócone tabele, do których użytkownik nie może uzyskać dostępu. |
| SQL_ACTIVE_ENVIRONMENTS | 3.0 | Wartość SQLUSMALLINT określająca maksymalną liczbę aktywnych środowisk, które sterownik może obsługiwać. Jeśli nie ma określonego limitu lub limit jest nieznany, ta wartość jest ustawiona na zero. |
| SQL_AGGREGATE_FUNCTIONS | 3.0 | Maska bitów SQLUINTEGER wyliczającą obsługę funkcji agregacji: SQL_AF_ALL SQL_AF_AVG SQL_AF_COUNT SQL_AF_DISTINCT SQL_AF_MAX SQL_AF_MIN SQL_AF_SUM Sterownik zgodny z poziomem wejścia SQL-92 zawsze zwraca wszystkie te opcje jako obsługiwane. |
| SQL_ALTER_DOMAIN | 3.0 | Maska bitów SQLUINTEGER wyliczając klauzule w instrukcji ALTER DOMAIN , zgodnie z definicją w języku SQL-92, obsługiwane przez źródło danych. Sterownik zgodny ze standardem SQL-92 zawsze zwraca wszystkie maski bitów. Wartość zwracana "0" oznacza, że instrukcja ALTER DOMAIN nie jest obsługiwana. Poziom zgodności SQL-92 lub FIPS, na którym ta funkcja musi być obsługiwana, jest wyświetlany w nawiasach obok każdej maski bitów. Następujące maski bitów służą do określania, które klauzule są obsługiwane: SQL_AD_ADD_DOMAIN_CONSTRAINT = Dodawanie ograniczenia domeny jest obsługiwane (pełny poziom) SQL_AD_ADD_DOMAIN_DEFAULT = <zmiana domyślnej klauzuli> domeny zestawu domen><jest obsługiwana (pełny poziom) SQL_AD_CONSTRAINT_NAME_DEFINITION = <klauzula> definicji nazwy ograniczenia jest obsługiwana w przypadku ograniczenia domeny nazewnictwa (poziom pośredni) SQL_AD_DROP_DOMAIN_CONSTRAINT = <klauzula> ograniczenia domeny porzucania jest obsługiwana (pełny poziom) SQL_AD_DROP_DOMAIN_DEFAULT = <zmiana domyślnej klauzuli> domeny porzucania domeny><jest obsługiwana (pełny poziom) Następujące bity określają obsługiwane <atrybuty> ograniczeń, jeśli <dodano ograniczenie> domeny jest obsługiwane (SQL_AD_ADD_DOMAIN_CONSTRAINT bit jest ustawiony): SQL_AD_ADD_CONSTRAINT_DEFERRABLE (pełny poziom) SQL_AD_ADD_CONSTRAINT_NON_DEFERRABLE (pełny poziom) SQL_AD_ADD_CONSTRAINT_INITIALLY_DEFERRED (poziom pełny) SQL_AD_ADD_CONSTRAINT_INITIALLY_IMMEDIATE (pełny poziom) |
| SQL_ALTER_TABLE | 2.0 | Maska bitów SQLUINTEGER wyliczając klauzule w instrukcji ALTER TABLE obsługiwanej przez źródło danych. Poziom zgodności SQL-92 lub FIPS, na którym ta funkcja musi być obsługiwana, jest wyświetlany w nawiasach obok każdej maski bitów. Następujące maski bitów służą do określania, które klauzule są obsługiwane: SQL_AT_ADD_COLUMN_COLLATION = <dodano klauzulę kolumny, z funkcją określania sortowania kolumn> (pełny poziom) (ODBC 3.0) SQL_AT_ADD_COLUMN_DEFAULT = <dodano klauzulę kolumny jest obsługiwana z funkcją określania wartości domyślnych kolumn> (poziom przejściowy FIPS) (ODBC 3.0) SQL_AT_ADD_COLUMN_SINGLE = <dodawanie kolumny> jest obsługiwane (poziom przejściowy FIPS) (ODBC 3.0) SQL_AT_ADD_CONSTRAINT = <dodano klauzulę kolumny> jest obsługiwana z funkcją określania ograniczeń kolumn (poziom przejściowy FIPS) (ODBC 3.0) SQL_AT_ADD_TABLE_CONSTRAINT = <dodawanie klauzuli ograniczenia> tabeli jest obsługiwana (poziom przejściowy FIPS) (ODBC 3.0) SQL_AT_CONSTRAINT_NAME_DEFINITION = <definicja> nazwy ograniczenia jest obsługiwana w przypadku ograniczeń nazw kolumn i tabel (poziom pośredni) (ODBC 3.0) SQL_AT_DROP_COLUMN_CASCADE = <drop column CASCADE is supported (FIPS Transitional level) (ODBC 3.0) (Drop column> CASCADE is supported (FIPS Transitional level) (ODBC 3.0) SQL_AT_DROP_COLUMN_DEFAULT = <zmiana domyślnej klauzuli> kolumny upuszczania kolumny><jest obsługiwana (poziom pośredni) (ODBC 3.0) SQL_AT_DROP_COLUMN_RESTRICT = <ograniczenie kolumny> drop jest obsługiwane (poziom przejściowy FIPS) (ODBC 3.0) SQL_AT_DROP_TABLE_CONSTRAINT_CASCADE (ODBC 3.0) SQL_AT_DROP_TABLE_CONSTRAINT_RESTRICT = <ograniczenie kolumny> drop jest obsługiwane (poziom przejściowy FIPS) (ODBC 3.0) SQL_AT_SET_COLUMN_DEFAULT = <zmiana domyślnej klauzuli> kolumny zestawu kolumn><jest obsługiwana (poziom pośredni) (ODBC 3.0) Następujące bity określają atrybuty> ograniczenia obsługi<, jeśli określenie ograniczeń kolumny lub tabeli jest obsługiwane (bit SQL_AT_ADD_CONSTRAINT jest ustawiony): SQL_AT_CONSTRAINT_INITIALLY_DEFERRED (pełny poziom) (ODBC 3.0) SQL_AT_CONSTRAINT_INITIALLY_IMMEDIATE (pełny poziom) (ODBC 3.0) SQL_AT_CONSTRAINT_DEFERRABLE (pełny poziom) (ODBC 3.0) SQL_AT_CONSTRAINT_NON_DEFERRABLE (pełny poziom) (ODBC 3.0) |
| SQL_ASYNC_DBC_FUNCTIONS | 3,8 | Wartość SQLUINTEGER wskazująca, czy sterownik może wykonywać funkcje asynchronicznie na dojściu połączenia. SQL_ASYNC_DBC_CAPABLE = Sterownik może wykonywać funkcje połączenia asynchronicznie. SQL_ASYNC_DBC_NOT_CAPABLE = Sterownik nie może asynchronicznie wykonywać funkcji połączenia. |
| SQL_ASYNC_MODE | 3.0 | Wartość SQLUINTEGER wskazująca poziom asynchronicznej obsługi w sterowniku: SQL_AM_CONNECTION = wykonywanie asynchroniczne na poziomie połączenia jest obsługiwane. Wszystkie dojścia instrukcji skojarzone z danym dojściem połączenia są w trybie asynchronicznym lub wszystkie są w trybie synchronicznym. Uchwyt instrukcji w połączeniu nie może być w trybie asynchronicznym, podczas gdy inna instrukcja obsługuje to samo połączenie jest w trybie synchronicznym i na odwrót. SQL_AM_STATEMENT = asynchroniczne wykonywanie na poziomie instrukcji jest obsługiwane. Niektóre dojścia instrukcji skojarzone z uchwytem połączenia mogą być w trybie asynchronicznym, podczas gdy inne uchwyty instrukcji w tym samym połączeniu są w trybie synchronicznym. SQL_AM_NONE = tryb asynchroniczny nie jest obsługiwany. |
| SQL_ASYNC_NOTIFICATION | 3,8 | Wartość SQLUINTEGER wskazująca, czy sterownik obsługuje powiadomienie asynchroniczne: SQL_ASYNC_NOTIFICATION_CAPABLE = Asynchroniczne powiadomienie o wykonaniu jest obsługiwane przez sterownik. SQL_ASYNC_NOTIFICATION_NOT_CAPABLE = Asynchroniczne powiadomienie o wykonaniu nie jest obsługiwane przez sterownik. Istnieją dwie kategorie operacji asynchronicznych ODBC: operacje asynchroniczne na poziomie połączenia i operacje asynchroniczne na poziomie instrukcji. Jeśli sterownik zwróci SQL_ASYNC_NOTIFICATION_CAPABLE, musi obsługiwać powiadomienia dotyczące wszystkich interfejsów API, które mogą być wykonywane asynchronicznie. |
| SQL_BATCH_ROW_COUNT | 3.0 | Maska bitów SQLUINTEGER, która wylicza zachowanie sterownika w odniesieniu do dostępności liczby wierszy. Następujące maski bitów są używane razem z typem informacji: SQL_BRC_ROLLED_UP = liczby wierszy dla kolejnych instrukcji INSERT, DELETE lub UPDATE są rzutowane w jeden. Jeśli ten bit nie jest ustawiony, liczby wierszy są dostępne dla każdej instrukcji. SQL_BRC_PROCEDURES = liczby wierszy, jeśli istnieją, są dostępne, gdy partia jest wykonywana w procedurze składowanej. Jeśli są dostępne liczby wierszy, można je rzutować lub indywidualnie, w zależności od SQL_BRC_ROLLED_UP bitu. SQL_BRC_EXPLICIT = liczba wierszy, jeśli istnieje, są dostępne, gdy partia jest wykonywana bezpośrednio przez wywołanie sqlExecute lub SQLExecDirect. Jeśli są dostępne liczby wierszy, można je rzutować lub indywidualnie, w zależności od SQL_BRC_ROLLED_UP bitu. |
| SQL_BATCH_SUPPORT | 3.0 | Maska bitów SQLUINTEGER wylicza obsługę wsadów sterownika. Następujące maski bitów są używane do określenia, który poziom jest obsługiwany: SQL_BS_SELECT_EXPLICIT = Sterownik obsługuje jawne partie, które mogą mieć instrukcje generowania zestawu wyników. SQL_BS_ROW_COUNT_EXPLICIT = Sterownik obsługuje jawne partie, które mogą mieć instrukcje generowania liczby wierszy. SQL_BS_SELECT_PROC = Sterownik obsługuje jawne procedury, które mogą mieć instrukcje generowania zestawu wyników. SQL_BS_ROW_COUNT_PROC = Sterownik obsługuje jawne procedury, które mogą zawierać instrukcje generowania liczby wierszy. |
| SQL_BOOKMARK_PERSISTENCE | 2.0 | Maska bitowa SQLUINTEGER wylicza operacje, za pomocą których zakładki są utrwalane. Następujące maski bitów są używane razem z flagą w celu określenia, za pomocą których zakładek opcji są utrwalane: SQL_BP_CLOSE = Zakładki są prawidłowe po wywołaniu przez aplikację sqlFreeStmt z opcją SQL_CLOSE lub SQLCloseCursor , aby zamknąć kursor skojarzony z instrukcją. SQL_BP_DELETE = zakładka dla wiersza jest prawidłowa po usunięciu tego wiersza. SQL_BP_DROP = Zakładki są prawidłowe po wywołaniu przez aplikację sqlFreeHandle z wartością HandleType SQL_HANDLE_STMT w celu porzucenia instrukcji. SQL_BP_TRANSACTION = Zakładki są prawidłowe po zatwierdzeniu lub wycofaniu transakcji przez aplikację. SQL_BP_UPDATE = Zakładka dla wiersza jest prawidłowa po zaktualizowaniu dowolnej kolumny w tym wierszu, w tym kolumn kluczy. SQL_BP_OTHER_HSTMT = zakładka skojarzona z jedną instrukcją może być używana z inną instrukcją. O ile nie określono SQL_BP_CLOSE lub SQL_BP_DROP, kursor na pierwszej instrukcji musi być otwarty. |
| SQL_CATALOG_LOCATION | 2.0 | Wartość SQLUSMALLINT wskazująca położenie wykazu w kwalifikowanej nazwie tabeli: SQL_CL_START SQL_CL_END Na przykład sterownik Xbase zwraca SQL_CL_START, ponieważ nazwa katalogu (katalogu) znajduje się na początku nazwy tabeli, jak w pliku \EMPDATA\EMP. DBF. Sterownik programu ORACLE Server zwraca SQL_CL_END, ponieważ wykaz znajduje się na końcu nazwy tabeli, jak w sekcji ADMIN. EMP@EMPDATA. Sterownik zgodny ze standardem SQL-92 zawsze zwraca SQL_CL_START. Wartość 0 jest zwracana, jeśli wykazy nie są obsługiwane przez źródło danych. Aby określić, czy katalogi są obsługiwane, aplikacja wywołuje element SQLGetInfo z typem informacji SQL_CATALOG_NAME. Nazwa tego typu informacji została zmieniona dla odBC 3.0 z SQL_QUALIFIER_LOCATION ODBC 2.0 InfoType . |
| SQL_CATALOG_NAME | 3.0 | Ciąg znaków: "Y", jeśli serwer obsługuje nazwy wykazu lub "N", jeśli nie. Sterownik zgodny ze standardem SQL-92 zawsze zwraca wartość "Y". |
| SQL_CATALOG_NAME_SEPARATOR | 1.0 | Ciąg znaków: znak lub znaki, które źródło danych definiuje jako separator między nazwą katalogu a kwalifikowanym elementem nazwy, który następuje lub poprzedza go. Pusty ciąg jest zwracany, jeśli wykazy nie są obsługiwane przez źródło danych. Aby określić, czy katalogi są obsługiwane, aplikacja wywołuje element SQLGetInfo z typem informacji SQL_CATALOG_NAME. Sterownik zgodny ze standardem SQL-92 zawsze zwraca wartość ".". Nazwa tego typu informacji została zmieniona dla odBC 3.0 z SQL_QUALIFIER_NAME_SEPARATOR ODBC 2.0 InfoType . |
| SQL_CATALOG_TERM | 1.0 | Ciąg znaków z nazwą dostawcy źródła danych dla wykazu; na przykład "baza danych" lub "katalog". Ten ciąg może być w górnej, dolnej lub mieszanej wielkości liter. Pusty ciąg jest zwracany, jeśli wykazy nie są obsługiwane przez źródło danych. Aby określić, czy katalogi są obsługiwane, aplikacja wywołuje element SQLGetInfo z typem informacji SQL_CATALOG_NAME. Sterownik zgodny ze standardem SQL-92 zawsze zwraca "wykaz". Nazwa tego typu informacji została zmieniona dla odBC 3.0 z SQL_QUALIFIER_TERM ODBC 2.0 InfoType . |
| SQL_CATALOG_USAGE | 2.0 | Maska bitów SQLUINTEGER wylicza instrukcje, w których można używać katalogów. Następujące maski bitów służą do określania, gdzie można używać katalogów: SQL_CU_DML_STATEMENTS = Wykazy są obsługiwane we wszystkich instrukcjach języka manipulowania danymi: SELECT, INSERT, UPDATE, DELETE, a jeśli są obsługiwane, SELECT FOR UPDATE i positioned update i delete instrukcji. SQL_CU_PROCEDURE_INVOCATION = Wykazy są obsługiwane w instrukcji wywołania procedury ODBC. SQL_CU_TABLE_DEFINITION = Wykazy są obsługiwane we wszystkich instrukcjach definicji tabeli: CREATE TABLE, CREATE VIEW, ALTER TABLE, DROP TABLE i DROP VIEW. SQL_CU_INDEX_DEFINITION = Wykazy są obsługiwane we wszystkich instrukcjach definicji indeksu: CREATE INDEX i DROP INDEX. SQL_CU_PRIVILEGE_DEFINITION = Wykazy są obsługiwane we wszystkich instrukcjach definicji uprawnień: GRANT i REVOKE. Wartość 0 jest zwracana, jeśli wykazy nie są obsługiwane przez źródło danych. Aby określić, czy katalogi są obsługiwane, aplikacja wywołuje element SQLGetInfo z typem informacji SQL_CATALOG_NAME. Sterownik zgodny ze standardem SQL-92 zawsze zwraca maskę bitów ze wszystkimi ustawionymi bitami. Nazwa tego typu informacji została zmieniona na ODBC 3.0 z SQL_QUALIFIER_USAGE ODBC 2.0 InfoType . |
| SQL_COLLATION_SEQ | 3.0 | Nazwa sekwencji sortowania. Jest to ciąg znaków, który wskazuje nazwę sortowania domyślnego dla domyślnego zestawu znaków dla tego serwera (na przykład "ISO 8859-1" lub EBCDIC). Jeśli jest to nieznane, zostanie zwrócony pusty ciąg. Sterownik zgodny ze standardem SQL-92 zawsze zwraca niepusty ciąg. |
| SQL_COLUMN_ALIAS | 2.0 | Ciąg znaków: "Y", jeśli źródło danych obsługuje aliasy kolumn; w przeciwnym razie, "N". Alias kolumny to alternatywna nazwa, którą można określić dla kolumny na liście wyboru przy użyciu klauzuli AS. Sterownik zgodny ze standardem SQL-92 zawsze zwraca wartość "Y". |
| SQL_CONCAT_NULL_BEHAVIOR | 1.0 | Wartość SQLUSMALLINT wskazująca, w jaki sposób źródło danych obsługuje łączenie kolumn typu danych znaków o wartości NULL z kolumnami typu danych o znakach innych niż NULL: SQL_CB_NULL = Wynik ma wartość NULL. SQL_CB_NON_NULL = Wynik łączy kolumny lub kolumny bez wartości NULL. Sterownik zgodny ze standardem SQL-92 będzie zawsze zwracał SQL_CB_NULL. |
| SQL_CONVERT_BIGINT SQL_CONVERT_BINARY SQL_CONVERT_BIT SQL_CONVERT_CHAR SQL_CONVERT_GUID SQL_CONVERT_DATE SQL_CONVERT_DECIMAL SQL_CONVERT_DOUBLE SQL_CONVERT_FLOAT SQL_CONVERT_INTEGER SQL_CONVERT_INTERVAL_YEAR_MONTH SQL_CONVERT_INTERVAL_DAY_TIME SQL_CONVERT_LONGVARBINARY SQL_CONVERT_LONGVARCHAR SQL_CONVERT_NUMERIC SQL_CONVERT_REAL SQL_CONVERT_SMALLINT SQL_CONVERT_TIME SQL_CONVERT_TIMESTAMP SQL_CONVERT_TINYINT SQL_CONVERT_VARBINARY SQL_CONVERT_VARCHAR |
1.0 | Maska bitów SQLUINTEGER. Maska bitów wskazuje konwersje obsługiwane przez źródło danych z funkcją skalarną CONVERT dla danych typu o nazwie w infotype. Jeśli maska bitów równa się zero, źródło danych nie obsługuje żadnych konwersji z danych nazwanego typu, w tym konwersji na ten sam typ danych. Na przykład w celu określenia, czy źródło danych obsługuje konwersję danych SQL_INTEGER na typ danych SQL_BIGINT, aplikacja wywołuje element SQLGetInfo z typem InfoType SQL_CONVERT_INTEGER. Aplikacja wykonuje operację AND z zwróconą maską bitów i SQL_CVT_BIGINT. Jeśli wynikowa wartość jest niezerowa, konwersja jest obsługiwana. Następujące maski bitów służą do określania, które konwersje są obsługiwane: SQL_CVT_BIGINT (ODBC 1.0) SQL_CVT_BINARY (ODBC 1.0) SQL_CVT_BIT (ODBC 1.0) SQL_CVT_GUID (ODBC 3.5) SQL_CVT_CHAR (ODBC 1.0) SQL_CVT_DATE (ODBC 1.0) SQL_CVT_DECIMAL (ODBC 1.0) SQL_CVT_DOUBLE (ODBC 1.0) SQL_CVT_FLOAT (ODBC 1.0) SQL_CVT_INTEGER (ODBC 1.0) SQL_CVT_INTERVAL_YEAR_MONTH (ODBC 3.0) SQL_CVT_INTERVAL_DAY_TIME (ODBC 3.0) SQL_CVT_LONGVARBINARY (ODBC 1.0) SQL_CVT_LONGVARCHAR (ODBC 1.0) SQL_CVT_NUMERIC (ODBC 1.0) SQL_CVT_REAL (ODBC 1.0) SQL_CVT_SMALLINT (ODBC 1.0) SQL_CVT_TIME (ODBC 1.0) SQL_CVT_TIMESTAMP (ODBC 1.0) SQL_CVT_TINYINT (ODBC 1.0) SQL_CVT_VARBINARY (ODBC 1.0) SQL_CVT_VARCHAR (ODBC 1.0) |
| SQL_CONVERT_FUNCTIONS | 1.0 | Maska bitów SQLUINTEGER wylicza funkcje konwersji skalarnych obsługiwane przez sterownik i skojarzone źródło danych. Następująca maska bitów służy do określania, które funkcje konwersji są obsługiwane: SQL_FN_CVT_CASTSQL_FN_CVT_CONVERT |
| SQL_CORRELATION_NAME | 1.0 | Wartość SQLUSMALLINT wskazująca, czy nazwy korelacji tabel są obsługiwane: SQL_CN_NONE = nazwy korelacji nie są obsługiwane. SQL_CN_DIFFERENT = nazwy korelacji są obsługiwane, ale muszą się różnić od nazw tabel, które reprezentują. SQL_CN_ANY = nazwy korelacji są obsługiwane i mogą być dowolną prawidłową nazwą zdefiniowaną przez użytkownika. Sterownik zgodny ze standardem SQL-92 będzie zawsze zwracał SQL_CN_ANY. |
| SQL_CREATE_ASSERTION | 3.0 | Maska bitów SQLUINTEGER wyliczając klauzule w instrukcji CREATE ASSERTION , zgodnie z definicją w języku SQL-92, obsługiwane przez źródło danych. Następujące maski bitów służą do określania, które klauzule są obsługiwane: SQL_CA_CREATE_ASSERTION Następujące bity określają obsługiwany atrybut ograniczenia, jeśli jawnie jest obsługiwana możliwość określenia atrybutów ograniczeń (zobacz typy informacji SQL_ALTER_TABLE i SQL_CREATE_TABLE): SQL_CA_CONSTRAINT_INITIALLY_DEFERRED SQL_CA_CONSTRAINT_INITIALLY_IMMEDIATE SQL_CA_CONSTRAINT_DEFERRABLE SQL_CA_CONSTRAINT_NON_DEFERRABLE Sterownik zgodny ze standardem SQL-92 zawsze zwraca wszystkie te opcje jako obsługiwane. Wartość zwracana "0" oznacza, że instrukcja CREATE ASSERTION nie jest obsługiwana. |
| SQL_CREATE_CHARACTER_SET | 3.0 | Maska bitów SQLUINTEGER wyliczając klauzule w instrukcji CREATE CHARACTER SET , zgodnie z definicją w języku SQL-92, obsługiwaną przez źródło danych. Następujące maski bitów służą do określania, które klauzule są obsługiwane: SQL_CCS_CREATE_CHARACTER_SET SQL_CCS_COLLATE_CLAUSE SQL_CCS_LIMITED_COLLATION Sterownik zgodny ze standardem SQL-92 zawsze zwraca wszystkie te opcje jako obsługiwane. Wartość zwracana "0" oznacza, że instrukcja CREATE CHARACTER SET nie jest obsługiwana. |
| SQL_CREATE_COLLATION | 3.0 | Maska bitów SQLUINTEGER wyliczającą klauzule w instrukcji CREATE COLLATION , zgodnie z definicją w źródle danych SQL-92. Następująca maska bitów służy do określania, które klauzule są obsługiwane: SQL_CCOL_CREATE_COLLATION Sterownik zgodny ze standardem SQL-92 zawsze zwraca tę opcję jako obsługiwaną. Wartość zwracana "0" oznacza, że instrukcja CREATE COLLATION nie jest obsługiwana. |
| SQL_CREATE_DOMAIN | 3.0 | Maska bitów SQLUINTEGER wyliczając klauzule w instrukcji CREATE DOMAIN , zgodnie z definicją w języku SQL-92, obsługiwane przez źródło danych. Następujące maski bitów służą do określania, które klauzule są obsługiwane: SQL_CDO_CREATE_DOMAIN = instrukcja CREATE DOMAIN jest obsługiwana (poziom pośredni). SQL_CDO_CONSTRAINT_NAME_DEFINITION = <definicja> nazwy ograniczenia jest obsługiwana w przypadku ograniczeń domeny nazewnictwa (poziom pośredni). Następujące bity określają możliwość tworzenia ograniczeń kolumn: SQL_CDO_DEFAULT = Określanie ograniczeń domeny jest obsługiwane (poziom pośredni) SQL_CDO_CONSTRAINT = Określanie wartości domyślnych domeny jest obsługiwane (poziom pośredni) SQL_CDO_COLLATION = Określanie sortowania domeny jest obsługiwane (pełny poziom) Następujące bity określają obsługiwane atrybuty ograniczeń, jeśli określenie ograniczeń domeny jest obsługiwane (SQL_CDO_DEFAULT jest ustawiona): SQL_CDO_CONSTRAINT_INITIALLY_DEFERRED (pełny poziom) SQL_CDO_CONSTRAINT_INITIALLY_IMMEDIATE (pełny poziom) SQL_CDO_CONSTRAINT_DEFERRABLE (poziom pełny) SQL_CDO_CONSTRAINT_NON_DEFERRABLE (pełny poziom) Wartość zwracana "0" oznacza, że instrukcja CREATE DOMAIN nie jest obsługiwana. |
| SQL_CREATE_SCHEMA | 3.0 | Maska bitów SQLUINTEGER wyliczając klauzule w instrukcji CREATE SCHEMA , zgodnie z definicją w języku SQL-92, obsługiwane przez źródło danych. Następujące maski bitów służą do określania, które klauzule są obsługiwane: SQL_CS_CREATE_SCHEMA SQL_CS_AUTHORIZATION SQL_CS_DEFAULT_CHARACTER_SET Sterownik zgodny ze standardem SQL-92 Intermediate zawsze zwraca opcje SQL_CS_CREATE_SCHEMA i SQL_CS_AUTHORIZATION zgodnie z obsługą. Muszą one być również obsługiwane na poziomie wejścia SQL-92, ale niekoniecznie jako instrukcje SQL. Sterownik zgodny ze standardem SQL-92 zawsze zwraca wszystkie te opcje jako obsługiwane. |
| SQL_CREATE_TABLE | 3.0 | Maska bitów SQLUINTEGER wyliczając klauzule w instrukcji CREATE TABLE , zgodnie z definicją w języku SQL-92, obsługiwaną przez źródło danych. Poziom zgodności SQL-92 lub FIPS, na którym ta funkcja musi być obsługiwana, jest wyświetlany w nawiasach obok każdej maski bitów. Następujące maski bitów służą do określania, które klauzule są obsługiwane: SQL_CT_CREATE_TABLE = instrukcja CREATE TABLE jest obsługiwana. (Poziom wejścia) SQL_CT_TABLE_CONSTRAINT = Określanie ograniczeń tabeli jest obsługiwane (poziom przejściowy FIPS) SQL_CT_CONSTRAINT_NAME_DEFINITION = Klauzula <definicji> nazwy ograniczenia jest obsługiwana w przypadku ograniczeń nazewnictwa kolumn i tabel (poziom pośredni) Następujące bity określają możliwość tworzenia tabel tymczasowych: SQL_CT_COMMIT_PRESERVE = Usunięte wiersze są zachowywane podczas zatwierdzania. (Pełny poziom) SQL_CT_COMMIT_DELETE = Usunięte wiersze są usuwane podczas zatwierdzania. (Pełny poziom) SQL_CT_GLOBAL_TEMPORARY = można utworzyć globalne tabele tymczasowe. (Pełny poziom) SQL_CT_LOCAL_TEMPORARY = można utworzyć lokalne tabele tymczasowe. (Pełny poziom) Następujące bity określają możliwość tworzenia ograniczeń kolumn: SQL_CT_COLUMN_CONSTRAINT = Określanie ograniczeń kolumn jest obsługiwane (poziom przejściowy FIPS) SQL_CT_COLUMN_DEFAULT = Określanie wartości domyślnych kolumn jest obsługiwane (poziom przejściowy FIPS) SQL_CT_COLUMN_COLLATION = Określanie sortowania kolumn jest obsługiwane (pełny poziom) Następujące bity określają obsługiwane atrybuty ograniczeń, jeśli określono ograniczenia kolumny lub tabeli są obsługiwane: SQL_CT_CONSTRAINT_INITIALLY_DEFERRED (poziom pełny) SQL_CT_CONSTRAINT_INITIALLY_IMMEDIATE (pełny poziom) SQL_CT_CONSTRAINT_DEFERRABLE (poziom pełny) SQL_CT_CONSTRAINT_NON_DEFERRABLE (poziom pełny) |
| SQL_CREATE_TRANSLATION | 3.0 | Maska bitów SQLUINTEGER wyliczając klauzule w instrukcji CREATE TRANSLATION , zgodnie z definicją w języku SQL-92, obsługiwaną przez źródło danych. Następująca maska bitów służy do określania, które klauzule są obsługiwane: SQL_CTR_CREATE_TRANSLATION Sterownik zgodny ze standardem SQL-92 zawsze zwraca te opcje jako obsługiwane. Wartość zwracana "0" oznacza, że instrukcja CREATE TRANSLATION nie jest obsługiwana. |
| SQL_CREATE_VIEW | 3.0 | Maska bitowa SQLUINTEGER wyliczając klauzule w instrukcji CREATE VIEW , zgodnie z definicją w źródle danych SQL-92. Następujące maski bitów służą do określania, które klauzule są obsługiwane: SQL_CV_CREATE_VIEW SQL_CV_CHECK_OPTION SQL_CV_CASCADED SQL_CV_LOCAL Wartość zwracana "0" oznacza, że instrukcja CREATE VIEW nie jest obsługiwana. Sterownik zgodny ze standardem SQL-92 zawsze zwraca SQL_CV_CREATE_VIEW i SQL_CV_CHECK_OPTION opcje zgodnie z obsługą. Sterownik zgodny ze standardem SQL-92 zawsze zwraca wszystkie te opcje jako obsługiwane. |
| SQL_CURSOR_COMMIT_BEHAVIOR | 1.0 | Wartość SQLUSMALLINT wskazująca, jak operacja COMMIT wpływa na kursory i przygotowane instrukcje w źródle danych (zachowanie źródła danych podczas zatwierdzania transakcji). Wartość tego atrybutu będzie odzwierciedlać bieżący stan następnego ustawienia: SQL_COPT_SS_PRESERVE_CURSORS. SQL_CB_DELETE = Zamknij kursory i usuń przygotowane instrukcje. Aby ponownie użyć kursora, aplikacja musi ponownie przygotować i ponownie wykonać instrukcję. SQL_CB_CLOSE = Zamknij kursory. W przypadku przygotowanych instrukcji aplikacja może wywołać metodę SQLExecute w instrukcji bez ponownego wywoływania narzędzia SQLPrepare . Domyślnym sterownikiem SQL ODBC jest SQL_CB_CLOSE. Oznacza to, że sterownik SQL ODBC zamknie kursory podczas zatwierdzania transakcji. SQL_CB_PRESERVE = Zachowaj kursory w tej samej pozycji co przed operacją COMMIT . Aplikacja może nadal pobierać dane lub może zamknąć kursor i ponownie wykonać instrukcję bez ponownej analizy. |
| SQL_CURSOR_ROLLBACK_BEHAVIOR | 1.0 | Wartość SQLUSMALLINT wskazująca, jak operacja WYCOFYWANIa wpływa na kursory i przygotowane instrukcje w źródle danych: SQL_CB_DELETE = Zamknij kursory i usuń przygotowane instrukcje. Aby ponownie użyć kursora, aplikacja musi ponownie przygotować i ponownie wykonać instrukcję. SQL_CB_CLOSE = Zamknij kursory. W przypadku przygotowanych instrukcji aplikacja może wywołać metodę SQLExecute w instrukcji bez ponownego wywoływania narzędzia SQLPrepare . SQL_CB_PRESERVE = Zachowaj kursory w tej samej pozycji co przed operacją ROLLBACK . Aplikacja może nadal pobierać dane lub może zamknąć kursor i ponownie wykonać instrukcję bez ponownej analizy. |
| SQL_CURSOR_SENSITIVITY | 3.0 | Wartość SQLUINTEGER wskazująca obsługę poufności kursora: SQL_INSENSITIVE = Wszystkie kursory na dojściu instrukcji pokazują zestaw wyników bez odzwierciedlania żadnych zmian wprowadzonych w nim przez inny kursor w ramach tej samej transakcji. SQL_UNSPECIFIED = Nie określono, czy kursory na dojściu instrukcji sprawiają, że widoczne są zmiany wprowadzone w zestawie wyników przez inny kursor w ramach tej samej transakcji. Kursory na dojściu instrukcji mogą spowodować, że żadne, niektóre lub wszystkie takie zmiany nie będą widoczne. SQL_SENSITIVE = Kursory są wrażliwe na zmiany wprowadzone przez inne kursory w ramach tej samej transakcji. Sterownik zgodny ze standardem SQL-92 zawsze zwraca opcję SQL_UNSPECIFIED jako obsługiwaną. Sterownik zgodny ze standardem SQL-92 zawsze zwróci opcję SQL_INSENSITIVE jako obsługiwaną. |
| SQL_DATA_SOURCE_NAME | 1.0 | Ciąg znaków z nazwą źródła danych, który został użyty podczas połączenia. Jeśli aplikacja o nazwie SQLConnect, jest to wartość argumentu szDSN . Jeśli aplikacja o nazwie SQLDriverConnect lub SQLBrowseConnect jest to wartość słowa kluczowego DSN w parametry połączenia przekazanym do sterownika. Jeśli parametry połączenia nie zawiera DSN słowa kluczowego (na przykład gdy zawiera DRIVER) jest to pusty ciąg. |
| SQL_DATA_SOURCE_READ_ONLY | 1.0 | Ciąg znaków. "Y", jeśli źródło danych jest ustawione na tryb TYLKO DO ODCZYTU, "N", jeśli jest inaczej. Ta cecha dotyczy tylko samego źródła danych; nie jest to cecha sterownika, który umożliwia dostęp do źródła danych. Sterownik, który jest odczytem/zapisem, może być używany ze źródłem danych, które jest tylko do odczytu. Jeśli sterownik jest tylko do odczytu, wszystkie jego źródła danych muszą być tylko do odczytu i muszą zwracać SQL_DATA_SOURCE_READ_ONLY. |
| SQL_DATABASE_NAME | 1.0 | Ciąg znaków o nazwie bieżącej bazy danych, jeśli źródło danych definiuje nazwany obiekt o nazwie "database". W wersji ODBC 3.x wartość zwrócona dla tego typu informacji może być również zwracana przez wywołanie metody SQLGetConnectAttr z argumentem Attribute SQL_ATTR_CURRENT_CATALOG. |
| SQL_DATETIME_LITERALS | 3.0 | Maska bitów SQLUINTEGER wyliczana literałów daty/godziny SQL-92 obsługiwanych przez źródło danych. Należy pamiętać, że są to literały daty/godziny wymienione w specyfikacji SQL-92 i są oddzielone od klauzul ucieczki literału daty/godziny zdefiniowane przez ODBC. Aby uzyskać więcej informacji na temat klauzul ucieczki literału daty/godziny ODBC, zobacz Literały daty, godziny i znacznika czasu. Sterownik zgodny na poziomie przejściowym FIPS zawsze zwraca wartość "1" w masce bitów na poniższej liście. Wartość "0" oznacza, że literały daty/godziny SQL-92 nie są obsługiwane. Następujące maski bitów służą do określania, które literały są obsługiwane: SQL_DL_SQL92_DATE SQL_DL_SQL92_TIME SQL_DL_SQL92_TIMESTAMP SQL_DL_SQL92_INTERVAL_YEAR SQL_DL_SQL92_INTERVAL_MONTH SQL_DL_SQL92_INTERVAL_DAY SQL_DL_SQL92_INTERVAL_HOUR SQL_DL_SQL92_INTERVAL_MINUTE SQL_DL_SQL92_INTERVAL_SECOND SQL_DL_SQL92_INTERVAL_YEAR_TO_MONTH SQL_DL_SQL92_INTERVAL_DAY_TO_HOUR SQL_DL_SQL92_INTERVAL_DAY_TO_MINUTE SQL_DL_SQL92_INTERVAL_DAY_TO_SECOND SQL_DL_SQL92_INTERVAL_HOUR_TO_MINUTE SQL_DL_SQL92_INTERVAL_HOUR_TO_SECOND SQL_DL_SQL92_INTERVAL_MINUTE_TO_SECOND |
| SQL_DBMS_NAME | 1.0 | Ciąg znaków o nazwie produktu DBMS, do których uzyskuje dostęp sterownik. |
| SQL_DBMS_VER | 1.0 | Ciąg znaków wskazujący wersję produktu DBMS, do którego uzyskuje dostęp sterownik. Wersja ma postać ##.#.###, gdzie dwie pierwsze cyfry są wersją główną, dwie następne cyfry są wersją pomocniczą, a dwie ostatnie cyfry są wersją wydania. Sterownik musi renderować wersję produktu DBMS w tym formularzu, ale może również dołączyć wersję specyficzną dla produktu DBMS. Na przykład "04.01.0000 Rdb 4.1". |
| SQL_DDL_INDEX | 3.0 | Wartość SQLUINTEGER wskazująca obsługę tworzenia i usuwania indeksów: SQL_DI_CREATE_INDEX SQL_DI_DROP_INDEX |
| SQL_DEFAULT_TXN_ISOLATION | 1.0 | Wartość SQLUINTEGER wskazująca domyślny poziom izolacji transakcji obsługiwany przez sterownik lub źródło danych lub zero, jeśli źródło danych nie obsługuje transakcji. Następujące terminy służą do definiowania poziomów izolacji transakcji: Odczyt zanieczyszczony Transakcja 1 zmienia wiersz. Transakcja 2 odczytuje zmieniony wiersz, zanim transakcja 1 zatwierdzi zmianę. Jeśli transakcja 1 wycofa zmianę, transakcja 2 będzie odczytywać wiersz, który jest uważany za nigdy nie istniał. Nie powtarzalny odczyt Transakcja 1 odczytuje wiersz. Transakcja 2 aktualizuje lub usuwa ten wiersz i zatwierdza tę zmianę. Jeśli transakcja 1 próbuje ponownie odnaleźć wiersz, otrzyma różne wartości wierszy lub wykryje, że wiersz został usunięty. Phantom Transakcja 1 odczytuje zestaw wierszy spełniających niektóre kryteria wyszukiwania. Transakcja 2 generuje jeden lub więcej wierszy (za pomocą wstawień lub aktualizacji), które spełniają kryteria wyszukiwania. Jeśli transakcja 1 ponownie wykonuje instrukcję odczytującą wiersze, otrzymuje inny zestaw wierszy. Jeśli źródło danych obsługuje transakcje, sterownik zwraca jedną z następujących masek bitów: SQL_TXN_READ_UNCOMMITTED = Możliwe są odczyty brudne, nie powtarzalne odczyty i fantomy. SQL_TXN_READ_COMMITTED = Brudne odczyty nie są możliwe. Możliwe są nie powtarzalne odczyty i fantomy. SQL_TXN_REPEATABLE_READ = brudne odczyty i nie powtarzalne odczyty nie są możliwe. Fantomy są możliwe. SQL_TXN_SERIALIZABLE = transakcje można serializować. Transakcje z możliwością serializacji nie zezwalają na brudne odczyty, odczyty nie powtarzalne ani fantomy. |
| SQL_DESCRIBE_PARAMETER | 3.0 | Ciąg znaków: "Y", jeśli można opisać parametry; "N", jeśli nie. Sterownik zgodny ze standardem SQL-92 zwykle zwraca wartość "Y", ponieważ będzie obsługiwać instrukcję DESCRIBE INPUT . Ponieważ nie określa to bezpośrednio podstawowej obsługi sql, opis parametrów może nie być obsługiwany, nawet w sterowniku zgodnym z pełnym poziomem SQL-92. |
| SQL_DM_VER | 3.0 | Ciąg znaków z wersją Menedżera sterowników. Wersja ma postać ##.#.#.#.#.#, gdzie: Pierwszy zestaw dwóch cyfr to główna wersja ODBC podana przez stałą SQL_SPEC_MAJOR. Drugi zestaw dwóch cyfr to wersja pomocnicza ODBC podana przez stałą SQL_SPEC_MINOR. Trzeci zestaw czterech cyfr to numer kompilacji głównej menedżera sterowników. Ostatni zestaw czterech cyfr to numer kompilacji pomocniczej Menedżera sterowników. Wersja Windows 7 Driver Manager to 03.80. Wersja Windows 8 Driver Manager to 03.81. |
| SQL_DRIVER_AWARE_POOLING_SUPPORTED | 3,8 | Wartość SQLUINTEGER wskazująca, czy sterownik obsługuje buforowanie obsługujące sterowniki. (Aby uzyskać więcej informacji, zobacz Driver-Aware Buforowanie połączeń. SQL_DRIVER_AWARE_POOLING_CAPABLE wskazuje, że sterownik może obsługiwać mechanizm buforowania obsługujący sterowniki. SQL_DRIVER_AWARE_POOLING_NOT_CAPABLE wskazuje, że sterownik nie może obsługiwać mechanizmu buforowania obsługującego sterowniki. Sterownik nie musi implementować SQL_DRIVER_AWARE_POOLING_SUPPORTED, a Menedżer sterowników nie będzie honorować wartości zwracanej przez kierowcę. |
| SQL_DRIVER_HDBCSQL_DRIVER_HENV | 1.0 | Wartość SQLULEN, uchwyt środowiska sterownika lub uchwyt połączenia określony przez argument InfoType. Te typy informacji są implementowane tylko przez Menedżera sterowników. |
| SQL_DRIVER_HDESC | 3.0 | Wartość SQLULEN, uchwyt deskryptora sterownika określony przez uchwyt deskryptora menedżera sterowników, który musi zostać przekazany do danych wejściowych w *InfoValuePtr z aplikacji. W tym przypadku element InfoValuePtr jest zarówno argumentem wejściowym, jak i wyjściowym. Uchwyt deskryptora wejściowego przekazany w *InfoValuePtr musi być jawnie lub niejawnie przydzielony do elementu ConnectionHandle. Aplikacja powinna utworzyć kopię deskryptora menedżera sterowników przed wywołaniem sqlGetInfo z tym typem informacji, aby upewnić się, że dojście nie zostało zastąpione w danych wyjściowych. Ten typ informacji jest implementowany tylko przez Menedżera sterowników. |
| SQL_DRIVER_HLIB | 2.0 | Wartość SQLULEN, hinst z biblioteki ładowania zwrócona do Menedżera sterowników, gdy załadowała bibliotekę DLL sterownika do systemu operacyjnego Microsoft Windows lub jego odpowiednik w innym systemie operacyjnym. Dojście jest prawidłowe tylko dla dojścia połączenia określonego w wywołaniu metody SQLGetInfo. Ten typ informacji jest implementowany tylko przez Menedżera sterowników. |
| SQL_DRIVER_HSTMT | 1.0 | Wartość SQLULEN, uchwyt instrukcji sterownika określony przez dojście instrukcji Driver Manager, który musi zostać przekazany do danych wejściowych w *InfoValuePtr z aplikacji. W tym przypadku element InfoValuePtr jest zarówno argumentem wejściowym, jak i wyjściowym. Dojście instrukcji wejściowej przekazane w *InfoValuePtr musi zostać przydzielone na argument ConnectionHandle. Aplikacja powinna utworzyć kopię dojścia instrukcji Menedżera sterowników, zanim wywoła polecenie SQLGetInfo z tym typem informacji, aby upewnić się, że dojście nie zostało zastąpione w danych wyjściowych. Ten typ informacji jest implementowany tylko przez Menedżera sterowników. |
| SQL_DRIVER_NAME | 1.0 | Ciąg znaków o nazwie pliku sterownika używanego do uzyskiwania dostępu do źródła danych. |
| SQL_DRIVER_ODBC_VER | 2.0 | Ciąg znaków z wersją ODBC obsługiwaną przez sterownik. Wersja jest w postaci ##.##, gdzie dwie pierwsze cyfry są wersją główną, a dwie następne cyfry są wersją pomocniczą. SQL_SPEC_MAJOR i SQL_SPEC_MINOR zdefiniować numery wersji głównych i pomocniczych. W przypadku wersji ODBC opisanej w tym podręczniku są to 3 i 0, a sterownik powinien zwrócić wartość "03.00". Menedżer sterowników ODBC nie zmodyfikuje zwracanej wartości sqlGetInfo(SQL_DRIVER_ODBC_VER), aby zachować zgodność z poprzednimi wersjami istniejących aplikacji. Sterownik określa, która wartość zostanie zwrócona. Jednak sterownik obsługujący rozszerzalność typu danych języka C musi zwrócić wartość 3.8 (lub nowszą), gdy aplikacja wywołuje metodę SQLSetEnvAttr , aby ustawić SQL_ATTR_ODBC_VERSION na 3,8. Aby uzyskać więcej informacji, zobacz Typy danych C w odBC. |
| SQL_DRIVER_VER | 1.0 | Ciąg znaków z wersją sterownika i opcjonalnie opis sterownika. Co najmniej wersja jest w postaci ##.#.###, gdzie dwie pierwsze cyfry są wersją główną, dwie następne cyfry są wersją pomocniczą, a cztery ostatnie cyfry są wersją wydania. |
| SQL_DROP_ASSERTION | 3.0 | Maska bitowa SQLUINTEGER wyliczając klauzule w instrukcji DROP ASSERTION , zgodnie z definicją w źródle danych SQL-92. Następująca maska bitów służy do określania, które klauzule są obsługiwane: SQL_DA_DROP_ASSERTION Sterownik zgodny ze standardem SQL-92 zawsze zwraca tę opcję jako obsługiwaną. |
| SQL_DROP_CHARACTER_SET | 3.0 | Maska bitów SQLUINTEGER wyliczając klauzule w instrukcji DROP CHARACTER SET , zgodnie z definicją w języku SQL-92, obsługiwane przez źródło danych. Następująca maska bitów służy do określania, które klauzule są obsługiwane: SQL_DCS_DROP_CHARACTER_SET Sterownik zgodny ze standardem SQL-92 zawsze zwraca tę opcję jako obsługiwaną. |
| SQL_DROP_COLLATION | 3.0 | Maska bitów SQLUINTEGER wyliczając klauzule w instrukcji DROP COLLATION , zgodnie z definicją w źródle danych SQL-92. Następująca maska bitów służy do określania, które klauzule są obsługiwane: SQL_DC_DROP_COLLATION Sterownik zgodny ze standardem SQL-92 zawsze zwraca tę opcję jako obsługiwaną. |
| SQL_DROP_DOMAIN | 3.0 | Maska bitów SQLUINTEGER wyliczając klauzule w instrukcji DROP DOMAIN , zgodnie z definicją w języku SQL-92, obsługiwane przez źródło danych. Następujące maski bitów służą do określania, które klauzule są obsługiwane: SQL_DD_DROP_DOMAIN SQL_DD_CASCADE SQL_DD_RESTRICT Sterownik zgodny ze standardem SQL-92 Intermediate zawsze zwraca wszystkie te opcje jako obsługiwane. |
| SQL_DROP_SCHEMA | 3.0 | Maska bitów SQLUINTEGER wyliczając klauzule w instrukcji DROP SCHEMA , zgodnie z definicją w języku SQL-92, obsługiwane przez źródło danych. Następujące maski bitów służą do określania, które klauzule są obsługiwane: SQL_DS_DROP_SCHEMA SQL_DS_CASCADE SQL_DS_RESTRICT Sterownik zgodny ze standardem SQL-92 Intermediate zawsze zwraca wszystkie te opcje jako obsługiwane. |
| SQL_DROP_TABLE | 3.0 | Maska bitów SQLUINTEGER wyliczającą klauzule w instrukcji DROP TABLE zgodnie z definicją w źródle danych SQL-92. Następujące maski bitów służą do określania, które klauzule są obsługiwane: SQL_DT_DROP_TABLE SQL_DT_CASCADE SQL_DT_RESTRICT Sterownik zgodny ze standardem FIPS Na poziomie przejściowym zawsze zwraca wszystkie te opcje jako obsługiwane. |
| SQL_DROP_TRANSLATION | 3.0 | Maska bitów SQLUINTEGER wyliczając klauzule w instrukcji DROP TRANSLATION , zgodnie z definicją w języku SQL-92, obsługiwane przez źródło danych. Następująca maska bitów służy do określania, które klauzule są obsługiwane: SQL_DTR_DROP_TRANSLATION Sterownik zgodny ze standardem SQL-92 zawsze zwraca tę opcję jako obsługiwaną. |
| SQL_DROP_VIEW | 3.0 | Maska bitów SQLUINTEGER wyliczając klauzule w instrukcji DROP VIEW , zgodnie z definicją w języku SQL-92, obsługiwane przez źródło danych. Następujące maski bitów służą do określania, które klauzule są obsługiwane: SQL_DV_DROP_VIEW SQL_DV_CASCADE SQL_DV_RESTRICT Sterownik zgodny ze standardem FIPS Na poziomie przejściowym zawsze zwraca wszystkie te opcje jako obsługiwane. |
| SQL_DYNAMIC_CURSOR_ATTRIBUTES1 | 3.0 | Maska bitów SQLUINTEGER opisując atrybuty dynamicznego kursora obsługiwanego przez sterownik. Ta maska bitów zawiera pierwszy podzestaw atrybutów; w drugim podzestawie zobacz SQL_DYNAMIC_CURSOR_ATTRIBUTES2. Następujące maski bitów służą do określania, które atrybuty są obsługiwane: SQL_CA1_NEXT = argument FetchOrientation SQL_FETCH_NEXT jest obsługiwany w wywołaniu funkcji SQLFetchScroll , gdy kursor jest kursorem dynamicznym. SQL_CA1_ABSOLUTE = argumenty FetchOrientation SQL_FETCH_FIRST, SQL_FETCH_LAST i SQL_FETCH_ABSOLUTE są obsługiwane w wywołaniu funkcji SQLFetchScroll , gdy kursor jest kursorem dynamicznym. (Zestaw wierszy, który zostanie pobrany, jest niezależny od bieżącego położenia kursora). SQL_CA1_RELATIVE = argumenty FetchOrientation SQL_FETCH_PRIOR i SQL_FETCH_RELATIVE są obsługiwane w wywołaniu funkcji SQLFetchScroll , gdy kursor jest kursorem dynamicznym. (Zestaw wierszy, który zostanie pobrany, zależy od bieżącego położenia kursora. Należy pamiętać, że jest to oddzielone od SQL_FETCH_NEXT, ponieważ w kursorze tylko do przodu obsługiwany jest tylko SQL_FETCH_NEXT). SQL_CA1_BOOKMARK = argument FetchOrientation SQL_FETCH_BOOKMARK jest obsługiwany w wywołaniu funkcji SQLFetchScroll , gdy kursor jest kursorem dynamicznym. SQL_CA1_LOCK_EXCLUSIVE = argument LockType SQL_LOCK_EXCLUSIVE jest obsługiwany w wywołaniu funkcji SQLSetPos , gdy kursor jest kursorem dynamicznym. SQL_CA1_LOCK_NO_CHANGE = argument LockType SQL_LOCK_NO_CHANGE jest obsługiwany w wywołaniu funkcji SQLSetPos , gdy kursor jest kursorem dynamicznym. SQL_CA1_LOCK_UNLOCK = argument LockType SQL_LOCK_UNLOCK jest obsługiwany w wywołaniu funkcji SQLSetPos , gdy kursor jest kursorem dynamicznym. SQL_CA1_POS_POSITION = Argument operacji SQL_POSITION jest obsługiwany w wywołaniu funkcji SQLSetPos , gdy kursor jest kursorem dynamicznym. SQL_CA1_POS_UPDATE = Argument operacji SQL_UPDATE jest obsługiwany w wywołaniu funkcji SQLSetPos , gdy kursor jest kursorem dynamicznym. SQL_CA1_POS_DELETE = Argument operacji SQL_DELETE jest obsługiwany w wywołaniu funkcji SQLSetPos , gdy kursor jest kursorem dynamicznym. SQL_CA1_POS_REFRESH = Argument operacji SQL_REFRESH jest obsługiwany w wywołaniu funkcji SQLSetPos , gdy kursor jest kursorem dynamicznym. SQL_CA1_POSITIONED_UPDATE = AKTUALIZACJA, gdzie bieżąca instrukcja SQL jest obsługiwana, gdy kursor jest kursorem dynamicznym. (Sterownik zgodny ze standardem SQL-92 na poziomie podstawowym zawsze zwróci tę opcję jako obsługiwaną). SQL_CA1_POSITIONED_DELETE = A DELETE WHERE CURRENT OF SQL instrukcja jest obsługiwana, gdy kursor jest kursorem dynamicznym. (Sterownik zgodny ze standardem SQL-92 na poziomie podstawowym zawsze zwróci tę opcję jako obsługiwaną). SQL_CA1_SELECT_FOR_UPDATE = instrukcja SELECT FOR UPDATE SQL jest obsługiwana, gdy kursor jest kursorem dynamicznym. (Sterownik zgodny ze standardem SQL-92 na poziomie podstawowym zawsze zwróci tę opcję jako obsługiwaną). SQL_CA1_BULK_ADD = Argument operacji SQL_ADD jest obsługiwany w wywołaniu funkcji SQLBulkOperations , gdy kursor jest kursorem dynamicznym. SQL_CA1_BULK_UPDATE_BY_BOOKMARK = Argument operacji SQL_UPDATE_BY_BOOKMARK jest obsługiwany w wywołaniu metody SQLBulkOperations , gdy kursor jest kursorem dynamicznym. SQL_CA1_BULK_DELETE_BY_BOOKMARK = Argument operacji SQL_DELETE_BY_BOOKMARK jest obsługiwany w wywołaniu metody SQLBulkOperations , gdy kursor jest kursorem dynamicznym. SQL_CA1_BULK_FETCH_BY_BOOKMARK = Argument operacji SQL_FETCH_BY_BOOKMARK jest obsługiwany w wywołaniu metody SQLBulkOperations , gdy kursor jest kursorem dynamicznym. Sterownik zgodny z poziomem pośrednim SQL-92 zwykle zwraca SQL_CA1_NEXT, SQL_CA1_ABSOLUTE i opcje SQL_CA1_RELATIVE jako obsługiwane, ponieważ obsługuje przewijane kursory za pośrednictwem osadzonej instrukcji FETCH JĘZYKA SQL. Ponieważ nie określa to bezpośrednio podstawowej obsługi języka SQL, jednak kursory przewijane mogą nie być obsługiwane, nawet w przypadku sterownika zgodnego z poziomem pośrednim SQL-92. |
| SQL_DYNAMIC_CURSOR_ATTRIBUTES2 | 3.0 | Maska bitów SQLUINTEGER opisując atrybuty dynamicznego kursora obsługiwanego przez sterownik. Ta maska bitów zawiera drugi podzestaw atrybutów; aby zapoznać się z pierwszym podzbiorem, zobacz SQL_DYNAMIC_CURSOR_ATTRIBUTES1. Następujące maski bitów służą do określania, które atrybuty są obsługiwane: SQL_CA2_READ_ONLY_CONCURRENCY = kursor dynamiczny tylko do odczytu, w którym nie są dozwolone żadne aktualizacje, jest obsługiwany. (Atrybut instrukcji SQL_ATTR_CONCURRENCY może być SQL_CONCUR_READ_ONLY dla kursora dynamicznego). SQL_CA2_LOCK_CONCURRENCY = kursor dynamiczny, który używa najniższego poziomu blokowania wystarczającego do upewnienia się, że wiersz można zaktualizować jest obsługiwany. (Atrybut instrukcji SQL_ATTR_CONCURRENCY może być SQL_CONCUR_LOCK dla kursora dynamicznego). Te blokady muszą być spójne z poziomem izolacji transakcji ustawionym przez atrybut połączenia SQL_ATTR_TXN_ISOLATION. SQL_CA2_OPT_ROWVER_CONCURRENCY = obsługiwany jest kursor dynamiczny korzystający z optymistycznej kontrolki współbieżności porównującej wersje wierszy. (Atrybut instrukcji SQL_ATTR_CONCURRENCY może być SQL_CONCUR_ROWVER dla kursora dynamicznego). SQL_CA2_OPT_VALUES_CONCURRENCY = obsługiwany jest kursor dynamiczny korzystający z optymistycznej kontrolki współbieżności porównującej wartości. (Atrybut instrukcji SQL_ATTR_CONCURRENCY może być SQL_CONCUR_VALUES dla kursora dynamicznego). SQL_CA2_SENSITIVITY_ADDITIONS = Dodane wiersze są widoczne dla kursora dynamicznego; kursor może przewinąć do tych wierszy. (Jeśli te wiersze są dodawane do kursora, zależy od sterownika). SQL_CA2_SENSITIVITY_DELETIONS = Usunięte wiersze nie są już dostępne dla kursora dynamicznego i nie pozostawiają "dziury" w zestawie wyników; gdy kursor dynamiczny przewija się z usuniętego wiersza, nie może powrócić do tego wiersza. SQL_CA2_SENSITIVITY_UPDATES = Aktualizacje wierszy są widoczne dla kursora dynamicznego; jeśli kursor dynamiczny przewija się z i wraca do zaktualizowanego wiersza, dane zwracane przez kursor to zaktualizowane dane, a nie oryginalne dane. SQL_CA2_MAX_ROWS_SELECT = atrybut instrukcji SQL_ATTR_MAX_ROWS wpływa na instrukcje SELECT , gdy kursor jest kursorem dynamicznym. SQL_CA2_MAX_ROWS_INSERT = atrybut instrukcji SQL_ATTR_MAX_ROWS wpływa na instrukcje INSERT , gdy kursor jest kursorem dynamicznym. SQL_CA2_MAX_ROWS_DELETE = atrybut instrukcji SQL_ATTR_MAX_ROWS wpływa na instrukcje DELETE , gdy kursor jest kursorem dynamicznym. SQL_CA2_MAX_ROWS_UPDATE = atrybut instrukcji SQL_ATTR_MAX_ROWS wpływa na instrukcje UPDATE , gdy kursor jest kursorem dynamicznym. SQL_CA2_MAX_ROWS_CATALOG = atrybut instrukcji SQL_ATTR_MAX_ROWS wpływa na zestawy wyników KATALOGU , gdy kursor jest kursorem dynamicznym. SQL_CA2_MAX_ROWS_AFFECTS_ALL = atrybut instrukcji SQL_ATTR_MAX_ROWS wpływa na instrukcje SELECT, INSERT, DELETE i UPDATE oraz zestawy wyników CATALOG , gdy kursor jest kursorem dynamicznym. SQL_CA2_CRC_EXACT = Dokładna liczba wierszy jest dostępna w polu diagnostycznym SQL_DIAG_CURSOR_ROW_COUNT, gdy kursor jest kursorem dynamicznym. SQL_CA2_CRC_APPROXIMATE = Przybliżona liczba wierszy jest dostępna w polu diagnostycznym SQL_DIAG_CURSOR_ROW_COUNT, gdy kursor jest kursorem dynamicznym. SQL_CA2_SIMULATE_NON_UNIQUE = Sterownik nie gwarantuje, że symulowane instrukcje aktualizacji lub usuwania będą mieć wpływ tylko na jeden wiersz, gdy kursor jest kursorem dynamicznym; jest to odpowiedzialność aplikacji za zagwarantowanie tego. (Jeśli instrukcja ma wpływ na więcej niż jeden wiersz, funkcja SQLExecute lub SQLExecDirect zwraca błąd SQLSTATE 01001 [konflikt operacji kursora].) Aby ustawić to zachowanie, aplikacja wywołuje metodę SQLSetStmtAttr z atrybutem SQL_ATTR_SIMULATE_CURSOR ustawionym na SQL_SC_NON_UNIQUE. SQL_CA2_SIMULATE_TRY_UNIQUE = Sterownik próbuje zagwarantować, że symulowane instrukcje aktualizacji lub usunięcia będą mieć wpływ tylko na jeden wiersz, gdy kursor jest kursorem dynamicznym. Sterownik zawsze wykonuje takie instrukcje, nawet jeśli mogą mieć wpływ na więcej niż jeden wiersz, na przykład wtedy, gdy nie ma unikatowego klucza. (Jeśli instrukcja ma wpływ na więcej niż jeden wiersz, funkcja SQLExecute lub SQLExecDirect zwraca błąd SQLSTATE 01001 [konflikt operacji kursora].) Aby ustawić to zachowanie, aplikacja wywołuje atrybut SQLSetStmtAttr z atrybutem SQL_ATTR_SIMULATE_CURSOR ustawionym na SQL_SC_TRY_UNIQUE. SQL_CA2_SIMULATE_UNIQUE = Sterownik gwarantuje, że symulowane instrukcje aktualizacji lub usuwania mają wpływ tylko na jeden wiersz, gdy kursor jest kursorem dynamicznym. Jeśli sterownik nie może zagwarantować tego dla danej instrukcji, sqlExecDirect lub SQLPrepare zwraca sqlSTATE 01001 (konflikt operacji kursora). Aby ustawić to zachowanie, aplikacja wywołuje atrybut SQLSetStmtAttr z atrybutem SQL_ATTR_SIMULATE_CURSOR ustawionym na SQL_SC_UNIQUE. |
| SQL_EXPRESSIONS_IN_ORDERBY | 1.0 | Ciąg znaków: "Y", jeśli źródło danych obsługuje wyrażenia na liście ORDER BY ; "N", jeśli nie. |
| SQL_FILE_USAGE | 2.0 | Wartość SQLUSMALLINT wskazująca, jak sterownik jednowarstwowy bezpośrednio traktuje pliki w źródle danych: SQL_FILE_NOT_SUPPORTED = Sterownik nie jest sterownikiem jednowarstwowym. Na przykład sterownik ORACLE jest sterownikiem dwuwarstwowym. SQL_FILE_TABLE = sterownik jednowarstwowy traktuje pliki w źródle danych jako tabele. Na przykład sterownik Xbase traktuje każdy plik Xbase jako tabelę. SQL_FILE_CATALOG = sterownik jednowarstwowy traktuje pliki w źródle danych jako wykaz. Na przykład sterownik Microsoft Access traktuje każdy plik Microsoft Access jako pełną bazę danych. Aplikacja może użyć tej funkcji, aby określić, w jaki sposób użytkownicy będą wybierać dane. Na przykład użytkownicy platformy Xbase często myślą o danych przechowywanych w plikach, natomiast użytkownicy ORACLE i Microsoft Access zazwyczaj myślą o danych przechowywanych w tabelach. Gdy użytkownik wybierze źródło danych Xbase, aplikacja może wyświetlić Windows File Open typowe okno dialogowe; gdy użytkownik wybierze źródło danych Microsoft Access lub ORACLE, aplikacja może wyświetlić niestandardowy Wybierz tabelę okno dialogowe. |
| SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1 | 3.0 | Maska bitów SQLUINTEGER opisując atrybuty kursora tylko do przodu obsługiwanego przez sterownik. Ta maska bitów zawiera pierwszy podzestaw atrybutów; w drugim podzestawie zobacz SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2. Następujące maski bitów służą do określania, które atrybuty są obsługiwane: SQL_CA1_NEXT SQL_CA1_LOCK_EXCLUSIVE SQL_CA1_LOCK_NO_CHANGE SQL_CA1_LOCK_UNLOCK SQL_CA1_POS_POSITION SQL_CA1_POS_UPDATE SQL_CA1_POS_DELETE SQL_CA1_POS_REFRESH SQL_CA1_POSITIONED_UPDATE SQL_CA1_POSITIONED_DELETE SQL_CA1_SELECT_FOR_UPDATE SQL_CA1_BULK_ADD SQL_CA1_BULK_UPDATE_BY_BOOKMARK SQL_CA1_BULK_DELETE_BY_BOOKMARK SQL_CA1_BULK_FETCH_BY_BOOKMARK Aby zapoznać się z opisami tych masek bitów, zobacz SQL_DYNAMIC_CURSOR_ATTRIBUTES1 (i zastąp ciąg "kursorem tylko do przodu" dla "kursora dynamicznego" w opisach). |
| SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2 | 3.0 | Maska bitów SQLUINTEGER opisując atrybuty kursora tylko do przodu obsługiwanego przez sterownik. Ta maska bitów zawiera drugi podzestaw atrybutów; aby zapoznać się z pierwszym podzbiorem, zobacz SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1. Następujące maski bitów służą do określania, które atrybuty są obsługiwane: SQL_CA2_READ_ONLY_CONCURRENCY SQL_CA2_LOCK_CONCURRENCY SQL_CA2_OPT_ROWVER_CONCURRENCY SQL_CA2_OPT_VALUES_CONCURRENCY SQL_CA2_SENSITIVITY_ADDITIONS SQL_CA2_SENSITIVITY_DELETIONS SQL_CA2_SENSITIVITY_UPDATES SQL_CA2_MAX_ROWS_SELECT SQL_CA2_MAX_ROWS_INSERT SQL_CA2_MAX_ROWS_DELETE SQL_CA2_MAX_ROWS_UPDATE SQL_CA2_MAX_ROWS_CATALOG SQL_CA2_MAX_ROWS_AFFECTS_ALL SQL_CA2_CRC_EXACT SQL_CA2_CRC_APPROXIMATE SQL_CA2_SIMULATE_NON_UNIQUE SQL_CA2_SIMULATE_TRY_UNIQUE SQL_CA2_SIMULATE_UNIQUE Aby uzyskać opisy tych masek bitów, zobacz SQL_DYNAMIC_CURSOR_ATTRIBUTES2 (i zastąp "kursorem tylko do przodu" dla "kursora dynamicznego" w opisach). |
| SQL_GETDATA_EXTENSIONS | 2.0 | Maska bitów SQLUINTEGER wyliczając rozszerzenia sqlGetData. Następujące maski bitów są używane razem z flagą w celu określenia typowych rozszerzeń, które sterownik obsługuje dla danych SQLGetData: SQL_GD_ANY_COLUMN = SQLGetData można wywołać dla dowolnej niezwiązanej kolumny, w tym tych przed ostatnią powiązaną kolumną. Należy pamiętać, że kolumny muszą być wywoływane w kolejności rosnącej liczby kolumn, chyba że zostanie również zwrócona SQL_GD_ANY_ORDER. SQL_GD_ANY_ORDER = SQLGetData można wywołać dla kolumn bez ruchu przychodzącego w dowolnej kolejności. Należy pamiętać, że funkcja SQLGetData może być wywoływana tylko dla kolumn po ostatniej powiązanej kolumnie, chyba że zostanie również zwrócona SQL_GD_ANY_COLUMN. SQL_GD_BLOCK = SQLGetData można wywołać dla kolumny niezwiązanej w dowolnym wierszu w bloku (gdzie rozmiar zestawu wierszy jest większy niż 1) danych po ustawieniu pozycji do tego wiersza za pomocą obiektów SQLSetPos. SQL_GD_BOUND = SQLGetData można wywołać dla powiązanych kolumn oprócz niezwiązanych kolumn. Sterownik nie może zwrócić tej wartości, chyba że zwraca również SQL_GD_ANY_COLUMN. SQL_GD_OUTPUT_PARAMS = SQLGetData można wywołać, aby zwrócić wartości parametrów wyjściowych. Aby uzyskać więcej informacji, zobacz Pobieranie parametrów wyjściowych przy użyciu metody SQLGetData. Funkcja SQLGetData jest wymagana do zwracania danych tylko z niezwiązanych kolumn, które występują po ostatniej powiązanej kolumnie, są wywoływane w kolejności rosnącej liczby kolumn i nie znajdują się w wierszu w bloku wierszy. Jeśli sterownik obsługuje zakładki (o stałej długości lub zmiennej długości), musi obsługiwać wywoływanie danych SQLGetData w kolumnie 0. Ta obsługa jest wymagana niezależnie od tego, co sterownik zwraca dla wywołania polecenia SQLGetInfo z SQL_GETDATA_EXTENSIONS InfoType. |
| SQL_GROUP_BY | 2.0 | Wartość SQLUSMALLINT określająca relację między kolumnami w klauzuli GROUP BY i nieagregowanych kolumn na liście wyboru: SQL_GB_COLLATE = klauzula COLLATE można określić na końcu każdej kolumny grupowania. (ODBC 3.0) SQL_GB_NOT_SUPPORTED = klauzule GROUP BY nie są obsługiwane. (ODBC 2.0) SQL_GB_GROUP_BY_EQUALS_SELECT = Klauzula GROUP BY musi zawierać wszystkie nieagregowane kolumny na liście wyboru. Nie może zawierać żadnych innych kolumn. Na przykład WYBIERZ POZYCJĘ DEPT, MAX(SALARY) FROM EMPLOYEE GROUP BY DEPT (MAX(SALARY) FROM EMPLOYEE GROUP BY DEPT(DEPT). (ODBC 2.0) SQL_GB_GROUP_BY_CONTAINS_SELECT = Klauzula GROUP BY musi zawierać wszystkie nieagregowane kolumny na liście wyboru. Może zawierać kolumny, które nie znajdują się na liście wyboru. Na przykład WYBIERZ POZYCJĘ DEPT, MAX(SALARY) FROM EMPLOYEE GROUP BY DEPT, AGE. (ODBC 2.0) SQL_GB_NO_RELATION = Kolumny w klauzuli GROUP BY i lista wyboru nie są powiązane. Znaczenie niezgrupowanych, nieagregowanych kolumn na liście wyboru jest zależne od źródła danych. Na przykład WYBIERZ POZYCJĘ DEPT, SALARY FROM EMPLOYEE GROUP BY DEPT, AGE., SELECT DEPT, SALARY FROM EMPLOYEE GROUP BY DEPT( DEPT, AGE). (ODBC 2.0) Sterownik zgodny ze standardem SQL-92 zawsze zwraca opcję SQL_GB_GROUP_BY_EQUALS_SELECT jako obsługiwaną. Sterownik zgodny ze standardem SQL-92 zawsze zwraca opcję SQL_GB_COLLATE jako obsługiwaną. Jeśli żadna z opcji nie jest obsługiwana, klauzula GROUP BY nie jest obsługiwana przez źródło danych. |
| SQL_IDENTIFIER_CASE | 1.0 | Wartość SQLUSMALLINT w następujący sposób: SQL_IC_UPPER = Identyfikatory w programie SQL nie są uwzględniane wielkości liter i są przechowywane w katalogu systemowym. SQL_IC_LOWER = Identyfikatory w języku SQL nie są uwzględniane wielkości liter i są przechowywane w małych literach w katalogu systemowym. SQL_IC_SENSITIVE = Identyfikatory w języku SQL są uwzględniane wielkości liter i są przechowywane w wykazie systemu w mieszanym przypadku. SQL_IC_MIXED = Identyfikatory w programie SQL nie są uwzględniane wielkości liter i są przechowywane w mieszanym przypadku w katalogu systemowym. Ponieważ identyfikatory w programie SQL-92 nigdy nie są uwzględniane wielkości liter, sterownik, który jest ściśle zgodny z programem SQL-92 (dowolny poziom), nigdy nie zwróci opcji SQL_IC_SENSITIVE jako obsługiwanej. |
| SQL_IDENTIFIER_QUOTE_CHAR | 1.0 | Ciąg znaków, który jest używany jako ogranicznik początkowy i końcowy identyfikator cudzysłów (rozdzielany) w instrukcjach SQL. (Identyfikatory przekazywane jako argumenty do funkcji ODBC nie muszą być cytowane). Jeśli źródło danych nie obsługuje identyfikatorów cytowanych, zwracana jest pusta wartość. Ten ciąg znaków może być również używany do cytowania argumentów funkcji katalogu, gdy atrybut połączenia SQL_ATTR_METADATA_ID jest ustawiony na SQL_TRUE. Ponieważ znak cudzysłowu identyfikatora w języku SQL-92 jest podwójnym cudzysłowem ("), sterownik, który jest ściśle zgodny z sql-92, zawsze zwraca znak podwójnego cudzysłowu. |
| SQL_INDEX_KEYWORDS | 3.0 | Maska bitów SQLUINTEGER, która wylicza słowa kluczowe w instrukcji CREATE INDEX, która jest obsługiwana przez sterownik: SQL_IK_NONE = Żadne ze słów kluczowych nie jest obsługiwane. SQL_IK_ASC = słowo kluczowe ASC jest obsługiwane. SQL_IK_DESC = słowo kluczowe DESC jest obsługiwane. SQL_IK_ALL = Wszystkie słowa kluczowe są obsługiwane. Aby sprawdzić, czy instrukcja CREATE INDEX jest obsługiwana, aplikacja wywołuje polecenie SQLGetInfo z typem informacji SQL_DLL_INDEX. |
| SQL_INFO_SCHEMA_VIEWS | 3.0 | Maska bitów SQLUINTEGER wylicza widoki w INFORMATION_SCHEMA obsługiwanych przez sterownik. Widoki w programie i zawartość INFORMATION_SCHEMA są zdefiniowane w programie SQL-92. Poziom zgodności SQL-92 lub FIPS, na którym ta funkcja musi być obsługiwana, jest wyświetlany w nawiasach obok każdej maski bitów. Następujące maski bitów służą do określania, które widoki są obsługiwane: SQL_ISV_ASSERTIONS = identyfikuje asercji katalogu, które są własnością danego użytkownika. (Pełny poziom) SQL_ISV_CHARACTER_SETS = identyfikuje zestawy znaków katalogu, do których można uzyskać dostęp przez danego użytkownika. (Poziom pośredni) SQL_ISV_CHECK_CONSTRAINTS = identyfikuje ograniczenia CHECK, które należą do danego użytkownika. (Poziom pośredni) SQL_ISV_COLLATIONS = Identyfikuje sortowania znaków dla katalogu, do których można uzyskać dostęp przez danego użytkownika. (Pełny poziom) SQL_ISV_COLUMN_DOMAIN_USAGE = Identyfikuje kolumny katalogu, które zależą od domen zdefiniowanych w wykazie i są własnością danego użytkownika. (Poziom pośredni) SQL_ISV_COLUMN_PRIVILEGES = Identyfikuje uprawnienia w kolumnach tabel trwałych, które są dostępne dla danego użytkownika lub przyznane przez danego użytkownika. (Poziom przejściowy FIPS) SQL_ISV_COLUMNS = identyfikuje kolumny tabel trwałych, do których można uzyskać dostęp przez danego użytkownika. (Poziom przejściowy FIPS) SQL_ISV_CONSTRAINT_COLUMN_USAGE = Podobnie jak w widoku CONSTRAINT_TABLE_USAGE kolumny są identyfikowane dla różnych ograniczeń należących do danego użytkownika. (Poziom pośredni) SQL_ISV_CONSTRAINT_TABLE_USAGE = Identyfikuje tabele, które są używane przez ograniczenia (odwołania, unikatowe i asercji) i są własnością danego użytkownika. (Poziom pośredni) SQL_ISV_DOMAIN_CONSTRAINTS = identyfikuje ograniczenia domeny (domen w katalogu), do których można uzyskać dostęp przez danego użytkownika. (Poziom pośredni) SQL_ISV_DOMAINS = Identyfikuje domeny zdefiniowane w katalogu, do których użytkownik może uzyskać dostęp. (Poziom pośredni) SQL_ISV_KEY_COLUMN_USAGE = Identyfikuje kolumny zdefiniowane w wykazie, które są ograniczone jako klucze przez danego użytkownika. (Poziom pośredni) SQL_ISV_REFERENTIAL_CONSTRAINTS = identyfikuje ograniczenia odwołań, które są własnością danego użytkownika. (Poziom pośredni) SQL_ISV_SCHEMATA = Identyfikuje schematy należące do danego użytkownika. (Poziom pośredni) SQL_ISV_SQL_LANGUAGES = identyfikuje poziomy zgodności, opcje i dialekty SQL obsługiwane przez implementację języka SQL. (Poziom pośredni) SQL_ISV_TABLE_CONSTRAINTS = Identyfikuje ograniczenia tabeli, które są własnością danego użytkownika. (Poziom pośredni) SQL_ISV_TABLE_PRIVILEGES = Identyfikuje uprawnienia w tabelach trwałych, które są dostępne dla danego użytkownika lub przyznane przez danego użytkownika. (Poziom przejściowy FIPS) SQL_ISV_TABLES = identyfikuje tabele trwałe zdefiniowane w wykazie, do których można uzyskać dostęp przez danego użytkownika. (Poziom przejściowy FIPS) SQL_ISV_TRANSLATIONS = identyfikuje tłumaczenia znaków dla katalogu, do których można uzyskać dostęp przez danego użytkownika. (Pełny poziom) SQL_ISV_USAGE_PRIVILEGES = identyfikuje uprawnienia UŻYCIA dla obiektów katalogu, które są dostępne dla danego użytkownika lub należą do niego. (Poziom przejściowy FIPS) SQL_ISV_VIEW_COLUMN_USAGE = Określa kolumny, w których są zależne widoki wykazu należące do danego użytkownika. (Poziom pośredni) SQL_ISV_VIEW_TABLE_USAGE = Identyfikuje tabele, w których są zależne widoki wykazu, które są własnością danego użytkownika. (Poziom pośredni) SQL_ISV_VIEWS = Identyfikuje wyświetlane tabele zdefiniowane w tym wykazie, do których można uzyskać dostęp przez danego użytkownika. (Poziom przejściowy FIPS) |
| SQL_INSERT_STATEMENT | 3.0 | Maska bitów SQLUINTEGER wskazująca obsługę instrukcji INSERT : SQL_IS_INSERT_LITERALS SQL_IS_INSERT_SEARCHED SQL_IS_SELECT_INTO Sterownik zgodny z poziomem wejścia SQL-92 zawsze zwraca wszystkie te opcje jako obsługiwane. |
| SQL_INTEGRITY | 1.0 | Ciąg znaków: "Y", jeśli źródło danych obsługuje rozszerzenie integralności; "N", jeśli nie. Nazwa tego typu informacji została zmieniona na ODBC 3.0 z SQL_ODBC_SQL_OPT_IEF ODBC 2.0 InfoType . |
| SQL_KEYSET_CURSOR_ATTRIBUTES1 | 3.0 | Maska bitów SQLUINTEGER, która opisuje atrybuty kursora zestawu kluczy obsługiwane przez sterownik. Ta maska bitów zawiera pierwszy podzestaw atrybutów; w drugim podzestawie zobacz SQL_KEYSET_CURSOR_ATTRIBUTES2. Następujące maski bitów służą do określania, które atrybuty są obsługiwane: SQL_CA1_NEXT SQL_CA1_ABSOLUTE SQL_CA1_RELATIVE SQL_CA1_BOOKMARK SQL_CA1_LOCK_EXCLUSIVE SQL_CA1_LOCK_NO_CHANGE SQL_CA1_LOCK_UNLOCK SQL_CA1_POS_POSITION SQL_CA1_POS_UPDATE SQL_CA1_POS_DELETE SQL_CA1_POS_REFRESH SQL_CA1_POSITIONED_UPDATE SQL_CA1_POSITIONED_DELETE SQL_CA1_SELECT_FOR_UPDATE SQL_CA1_BULK_ADD SQL_CA1_BULK_UPDATE_BY_BOOKMARK SQL_CA1_BULK_DELETE_BY_BOOKMARK SQL_CA1_BULK_FETCH_BY_BOOKMARK Aby uzyskać opisy tych masek bitów, zobacz SQL_DYNAMIC_CURSOR_ATTRIBUTES1 (i zastąp ciąg "kursorem opartym na zestawie kluczy" dla "kursora dynamicznego" w opisach). Sterownik zgodny ze standardem SQL-92 Intermediate zwykle zwraca SQL_CA1_NEXT, SQL_CA1_ABSOLUTE i opcje SQL_CA1_RELATIVE jako obsługiwane, ponieważ sterownik obsługuje kursory przewijane za pomocą osadzonej instrukcji FETCH języka SQL. Ponieważ nie określa to bezpośrednio podstawowej obsługi języka SQL, jednak kursory przewijane mogą nie być obsługiwane, nawet w przypadku sterownika zgodnego z poziomem pośrednim SQL-92. |
| SQL_KEYSET_CURSOR_ATTRIBUTES2 | 3.0 | Maska bitów SQLUINTEGER, która opisuje atrybuty kursora zestawu kluczy obsługiwane przez sterownik. Ta maska bitów zawiera drugi podzestaw atrybutów; aby zapoznać się z pierwszym podzbiorem, zobacz SQL_KEYSET_CURSOR_ATTRIBUTES1. Następujące maski bitów służą do określania, które atrybuty są obsługiwane: SQL_CA2_READ_ONLY_CONCURRENCY SQL_CA2_LOCK_CONCURRENCY SQL_CA2_OPT_ROWVER_CONCURRENCY SQL_CA2_OPT_VALUES_CONCURRENCY SQL_CA2_SENSITIVITY_ADDITIONS SQL_CA2_SENSITIVITY_DELETIONS SQL_CA2_SENSITIVITY_UPDATES SQL_CA2_MAX_ROWS_SELECT SQL_CA2_MAX_ROWS_INSERT SQL_CA2_MAX_ROWS_DELETE SQL_CA2_MAX_ROWS_UPDATE SQL_CA2_MAX_ROWS_CATALOG SQL_CA2_MAX_ROWS_AFFECTS_ALL SQL_CA2_CRC_EXACT SQL_CA2_CRC_APPROXIMATE SQL_CA2_SIMULATE_NON_UNIQUE SQL_CA2_SIMULATE_TRY_UNIQUE SQL_CA2_SIMULATE_UNIQUE Aby uzyskać opisy tych masek bitów, zobacz SQL_DYNAMIC_CURSOR_ATTRIBUTES1 (i zastąp ciąg "kursorem opartym na zestawie kluczy" dla "kursora dynamicznego" w opisach). |
| SQL_KEYWORDS | 2.0 | Ciąg znaków zawierający rozdzielaną przecinkami listę wszystkich słów kluczowych specyficznych dla źródła danych. Ta lista nie zawiera słów kluczowych specyficznych dla ODBC ani słów kluczowych używanych zarówno przez źródło danych, jak i ODBC. Ta lista reprezentuje wszystkie zastrzeżone słowa kluczowe; aplikacje, które współdziałają, nie powinny używać tych słów w nazwach obiektów. Aby uzyskać listę słów kluczowych ODBC, zobacz Zastrzeżone słowa kluczowe w dodatku C: Gramatyka SQL. Wartość #define SQL_ODBC_KEYWORDS zawiera rozdzielaną przecinkami listę słów kluczowych ODBC. |
| SQL_LIKE_ESCAPE_CLAUSE | 2.0 | Ciąg znaków: "Y", jeśli źródło danych obsługuje znak ucieczki dla znaku procentu (%) i znak podkreślenia (_) w predykacie LIKE , a sterownik obsługuje składnię ODBC do definiowania znaku ucieczki predykatu LIKE ; "N" w przeciwnym razie. |
| SQL_MAX_ASYNC_CONCURRENT_STATEMENTS | 3.0 | Wartość SQLUINTEGER określająca maksymalną liczbę aktywnych instrukcji współbieżnych w trybie asynchronicznym, który sterownik może obsługiwać na danym połączeniu. Jeśli nie ma określonego limitu lub limit jest nieznany, ta wartość to zero. |
| SQL_MAX_BINARY_LITERAL_LEN | 2.0 | Wartość SQLUINTEGER określająca maksymalną długość (liczbę znaków szesnastkowe, z wyłączeniem prefiksu literału i sufiksu zwróconego przez sqlGetTypeInfo) literału binarnego w instrukcji SQL. Na przykład literał binarny 0xFFAA ma długość 4. Jeśli nie ma maksymalnej długości lub długość jest nieznana, ta wartość jest ustawiona na zero. |
| SQL_MAX_CATALOG_NAME_LEN | 1.0 | Wartość SQLUSMALLINT określająca maksymalną długość nazwy katalogu w źródle danych. Jeśli nie ma maksymalnej długości lub długość jest nieznana, ta wartość jest ustawiona na zero. Sterownik zgodny ze standardem FIPS na poziomie pełnym zwróci co najmniej 128. Nazwa tego typu informacji została zmieniona dla odBC 3.0 z SQL_MAX_QUALIFIER_NAME_LEN ODBC 2.0 InfoType . |
| SQL_MAX_CHAR_LITERAL_LEN | 2.0 | Wartość SQLUINTEGER określająca maksymalną długość (liczbę znaków, z wyłączeniem prefiksu literału i sufiksu zwróconego przez sqlGetTypeInfo) literału znaku w instrukcji SQL. Jeśli nie ma maksymalnej długości lub długość jest nieznana, ta wartość jest ustawiona na zero. |
| SQL_MAX_COLUMN_NAME_LEN | 1.0 | Wartość SQLUSMALLINT określająca maksymalną długość nazwy kolumny w źródle danych. Jeśli nie ma maksymalnej długości lub długość jest nieznana, ta wartość jest ustawiona na zero. Sterownik zgodny ze standardem FIPS Poziom wejścia zwróci co najmniej 18. Sterownik zgodny ze standardem FIPS Intermediate zwróci co najmniej 128. |
| Maksymalna liczba kolumn w GROUP BY (SQL_MAX_COLUMNS_IN_GROUP_BY) | 2.0 | Wartość SQLUSMALLINT określająca maksymalną liczbę kolumn dozwolonych w klauzuli GROUP BY . Jeśli nie ma określonego limitu lub limit jest nieznany, ta wartość jest ustawiona na zero. Sterownik zgodny ze standardem FIPS entry zwróci co najmniej 6. Sterownik zgodny ze standardem FIPS Intermediate zwróci co najmniej 15. |
| SQL_MAX_COLUMNS_IN_INDEX | 2.0 | Wartość SQLUSMALLINT określająca maksymalną liczbę kolumn dozwolonych w indeksie. Jeśli nie ma określonego limitu lub limit jest nieznany, ta wartość jest ustawiona na zero. |
| SQL_MAX_COLUMNS_IN_ORDER_BY | 2.0 | Wartość SQLUSMALLINT określająca maksymalną liczbę kolumn dozwolonych w klauzuli ORDER BY . Jeśli nie ma określonego limitu lub limit jest nieznany, ta wartość jest ustawiona na zero. Sterownik zgodny ze standardem FIPS entry zwróci co najmniej 6. Sterownik zgodny ze standardem FIPS Intermediate zwróci co najmniej 15. |
| SQL_MAX_COLUMNS_IN_SELECT | 2.0 | Wartość SQLUSMALLINT określająca maksymalną liczbę kolumn dozwolonych na liście wyboru. Jeśli nie ma określonego limitu lub limit jest nieznany, ta wartość jest ustawiona na zero. Sterownik zgodny ze standardem FIPS Poziom wejścia zwróci co najmniej 100. Sterownik zgodny ze standardem FIPS Intermediate zwróci co najmniej 250. |
| SQL_MAX_COLUMNS_IN_TABLE | 2.0 | Wartość SQLUSMALLINT określająca maksymalną liczbę kolumn dozwolonych w tabeli. Jeśli nie ma określonego limitu lub limit jest nieznany, ta wartość jest ustawiona na zero. Sterownik zgodny ze standardem FIPS Poziom wejścia zwróci co najmniej 100. Sterownik zgodny ze standardem FIPS Intermediate zwróci co najmniej 250. |
| SQL_MAX_CONCURRENT_ACTIVITIES | 1.0 | Wartość SQLUSMALLINT określająca maksymalną liczbę aktywnych instrukcji, które sterownik może obsługiwać dla połączenia. Instrukcja jest definiowana jako aktywna, jeśli ma oczekujące wyniki, a termin "wyniki" oznacza wiersze z operacji SELECT lub wierszy, których dotyczy operacja INSERT, UPDATE lub DELETE (na przykład liczba wierszy), lub jeśli znajduje się w stanie NEED_DATA. Ta wartość może odzwierciedlać ograniczenie nałożone przez sterownik lub źródło danych. Jeśli nie ma określonego limitu lub limit jest nieznany, ta wartość jest ustawiona na zero. Nazwa tego typu informacji została zmieniona dla odBC 3.0 z SQL_ACTIVE_STATEMENTS ODBC 2.0 InfoType . |
| SQL_MAX_CURSOR_NAME_LEN | 1.0 | Wartość SQLUSMALLINT określająca maksymalną długość nazwy kursora w źródle danych. Jeśli nie ma maksymalnej długości lub długość jest nieznana, ta wartość jest ustawiona na zero. Sterownik zgodny ze standardem FIPS Poziom wejścia zwróci co najmniej 18. Sterownik zgodny ze standardem FIPS Intermediate zwróci co najmniej 128. |
| SQL_MAX_DRIVER_CONNECTIONS | 1.0 | Wartość SQLUSMALLINT określająca maksymalną liczbę aktywnych połączeń, które sterownik może obsługiwać dla środowiska. Ta wartość może odzwierciedlać ograniczenie nałożone przez sterownik lub źródło danych. Jeśli nie ma określonego limitu lub limit jest nieznany, ta wartość jest ustawiona na zero. Nazwa tego typu informacji została zmieniona na ODBC 3.0 z SQL_ACTIVE_CONNECTIONS ODBC 2.0 InfoType . |
| SQL_MAX_IDENTIFIER_LEN | 3.0 | SQLUSMALLINT wskazujący maksymalny rozmiar znaków, który źródło danych obsługuje dla nazw zdefiniowanych przez użytkownika. Sterownik zgodny ze standardem FIPS Poziom wejścia zwróci co najmniej 18. Sterownik zgodny ze standardem FIPS Intermediate zwróci co najmniej 128. |
| SQL_MAX_INDEX_SIZE | 2.0 | Wartość SQLUINTEGER określająca maksymalną liczbę bajtów dozwolonych w połączonych polach indeksu. Jeśli nie ma określonego limitu lub limit jest nieznany, ta wartość jest ustawiona na zero. |
| SQL_MAX_PROCEDURE_NAME_LEN | 1.0 | Wartość SQLUSMALLINT określająca maksymalną długość nazwy procedury w źródle danych. Jeśli nie ma maksymalnej długości lub długość jest nieznana, ta wartość jest ustawiona na zero. |
| SQL_MAX_ROW_SIZE | 2.0 | Wartość SQLUINTEGER określająca maksymalną długość pojedynczego wiersza w tabeli. Jeśli nie ma określonego limitu lub limit jest nieznany, ta wartość jest ustawiona na zero. Sterownik zgodny ze standardem FIPS Entry zwróci co najmniej 2000. Sterownik zgodny ze standardem FIPS Intermediate zwróci co najmniej 8000. |
| SQL_MAX_ROW_SIZE_INCLUDES_LONG | 3.0 | Ciąg znaków: "Y", jeśli maksymalny rozmiar wiersza zwrócony dla typu informacji SQL_MAX_ROW_SIZE zawiera długość wszystkich SQL_LONGVARCHAR i SQL_LONGVARBINARY kolumn w wierszu; "N" w przeciwnym razie. |
| SQL_MAX_SCHEMA_NAME_LEN | 1.0 | Wartość SQLUSMALLINT określająca maksymalną długość nazwy schematu w źródle danych. Jeśli nie ma maksymalnej długości lub długość jest nieznana, ta wartość jest ustawiona na zero. Sterownik zgodny ze standardem FIPS Poziom wejścia zwróci co najmniej 18. Sterownik zgodny ze standardem FIPS Intermediate zwróci co najmniej 128. Nazwa tego typu informacji została zmieniona na ODBC 3.0 z SQL_MAX_OWNER_NAME_LEN ODBC 2.0 InfoType . |
| SQL_MAX_STATEMENT_LEN | 2.0 | Wartość SQLUINTEGER określająca maksymalną długość (liczbę znaków, w tym biały znak) instrukcji SQL. Jeśli nie ma maksymalnej długości lub długość jest nieznana, ta wartość jest ustawiona na zero. |
| SQL_MAX_TABLE_NAME_LEN | 1.0 | Wartość SQLUSMALLINT określająca maksymalną długość nazwy tabeli w źródle danych. Jeśli nie ma maksymalnej długości lub długość jest nieznana, ta wartość jest ustawiona na zero. Sterownik zgodny ze standardem FIPS Poziom wejścia zwróci co najmniej 18. Sterownik zgodny ze standardem FIPS Intermediate zwróci co najmniej 128. |
| SQL_MAX_TABLES_IN_SELECT (maksymalna liczba tabel w selekcie) | 2.0 | Wartość SQLUSMALLINT określająca maksymalną liczbę tabel dozwolonych w klauzuli FROM instrukcji SELECT . Jeśli nie ma określonego limitu lub limit jest nieznany, ta wartość jest ustawiona na zero. Sterownik zgodny ze standardem FIPS Entry zwróci co najmniej 15. Sterownik zgodny ze standardem FIPS Intermediate zwróci co najmniej 50. |
| SQL_MAX_USER_NAME_LEN | 2.0 | Wartość SQLUSMALLINT określająca maksymalną długość nazwy użytkownika w źródle danych. Jeśli nie ma maksymalnej długości lub długość jest nieznana, ta wartość jest ustawiona na zero. |
| SQL_MULT_RESULT_SETS | 1.0 | Ciąg znaków: "Y", jeśli źródło danych obsługuje wiele zestawów wyników, "N", jeśli nie. Aby uzyskać więcej informacji na temat wielu zestawów wyników, zobacz Wiele wyników. |
| SQL_MULTIPLE_ACTIVE_TXN | 1.0 | Ciąg znaków: "Y", jeśli sterownik obsługuje więcej niż jedną aktywną transakcję w tym samym czasie, "N", jeśli tylko jedna transakcja może być aktywna w dowolnym momencie. Informacje zwrócone dla tego typu informacji nie mają zastosowania w przypadku transakcji rozproszonych. |
| SQL_NEED_LONG_DATA_LEN | 2.0 | Ciąg znaków: "Y", jeśli źródło danych potrzebuje długości długiej wartości danych (typ danych jest SQL_LONGVARCHAR, SQL_LONGVARBINARY lub długi typ danych specyficzny dla źródła danych) przed wysłaniem tej wartości do źródła danych "N", jeśli tak nie jest. Aby uzyskać więcej informacji, zobacz SQLBindParameter Function (Funkcja SQLBindParameter ) i SQLSetPos Function (Funkcja SQLSetPos). |
| SQL_NON_NULLABLE_COLUMNS | 1.0 | Wartość SQLUSMALLINT określająca, czy źródło danych obsługuje wartość NOT NULL w kolumnach: SQL_NNC_NULL = Wszystkie kolumny muszą mieć wartość null. SQL_NNC_NON_NULL = Kolumny nie mogą mieć wartości null. (Źródło danych obsługuje ograniczenie kolumny NOT NULL w instrukcjach CREATE TABLE ). Sterownik zgodny z poziomem wejścia SQL-92 zwróci SQL_NNC_NON_NULL. |
| SQL_NULL_COLLATION | 2.0 | Wartość SQLUSMALLINT określająca, gdzie NUL są sortowane w zestawie wyników: SQL_NC_END = listy NUL są sortowane na końcu zestawu wyników, niezależnie od słów kluczowych USŁUGI ASC lub DESC. SQL_NC_HIGH = listy NUL są sortowane na wysokim końcu zestawu wyników, w zależności od słów kluczowych ASC lub DESC. SQL_NC_LOW = listy NUL są sortowane na niskim końcu zestawu wyników, w zależności od słów kluczowych ASC lub DESC. SQL_NC_START = listy NUL są sortowane na początku zestawu wyników, niezależnie od słów kluczowych USŁUGI ASC lub DESC. |
| SQL_NUMERIC_FUNCTIONS | 1.0 | Uwaga: typ informacji został wprowadzony w wersji ODBC 1.0; każda maska bitów jest oznaczona etykietą z wersją, w której została wprowadzona. Maska bitów SQLUINTEGER wylicza funkcje liczbowe skalarne obsługiwane przez sterownik i skojarzone źródło danych. Następujące maski bitów służą do określania, które funkcje liczbowe są obsługiwane: SQL_FN_NUM_ABS (ODBC 1.0) SQL_FN_NUM_ACOS (ODBC 1.0) SQL_FN_NUM_ASIN (ODBC 1.0) SQL_FN_NUM_ATAN (ODBC 1.0) SQL_FN_NUM_ATAN2 (ODBC 1.0) SQL_FN_NUM_CEILING (ODBC 1.0) SQL_FN_NUM_COS (ODBC 1.0) SQL_FN_NUM_COT (ODBC 1.0) SQL_FN_NUM_DEGREES (ODBC 2.0) SQL_FN_NUM_EXP (ODBC 1.0) SQL_FN_NUM_FLOOR (ODBC 1.0) SQL_FN_NUM_LOG (ODBC 1.0) SQL_FN_NUM_LOG10 (ODBC 2.0) SQL_FN_NUM_MOD (ODBC 1.0) SQL_FN_NUM_PI (ODBC 1.0) SQL_FN_NUM_POWER (ODBC 2.0) SQL_FN_NUM_RADIANS (ODBC 2.0) SQL_FN_NUM_RAND (ODBC 1.0) SQL_FN_NUM_ROUND (ODBC 2.0) SQL_FN_NUM_SIGN (ODBC 1.0) SQL_FN_NUM_SIN (ODBC 1.0) SQL_FN_NUM_SQRT (ODBC 1.0) SQL_FN_NUM_TAN (ODBC 1.0) SQL_FN_NUM_TRUNCATE (ODBC 2.0) |
| SQL_ODBC_INTERFACE_CONFORMANCE | 3.0 | Wartość SQLUINTEGER wskazująca poziom interfejsu ODBC 3*.x* zgodny ze sterownikiem. SQL_OIC_CORE: minimalny poziom, z którego powinny być zgodne wszystkie sterowniki ODBC. Ten poziom obejmuje podstawowe elementy interfejsu, takie jak funkcje połączenia, funkcje do przygotowywania i wykonywania instrukcji SQL, podstawowe funkcje metadanych zestawu wyników, podstawowe funkcje wykazu itd. SQL_OIC_LEVEL1: poziom obejmujący podstawowe funkcje poziomu zgodności standardów oraz kursory z możliwością przewijania, zakładki, aktualizacje umieszczone i usunięcia itd. SQL_OIC_LEVEL2: poziom obejmujący funkcjonalność poziomu zgodności na poziomie 1, a także zaawansowane funkcje, takie jak poufne kursory; aktualizowanie, usuwanie i odświeżanie według zakładek; obsługa procedury składowanej; funkcje katalogu dla kluczy podstawowych i obcych; obsługa wielu katalogów; i tak dalej. Aby uzyskać więcej informacji, zobacz Poziomy zgodności interfejsu. |
| SQL_ODBC_VER | 1.0 | Ciąg znaków z wersją ODBC, z którą jest zgodny menedżer sterowników. Wersja ma postać ##.#.#.0000, gdzie dwie pierwsze cyfry są wersją główną, a dwie następne cyfry są wersją pomocniczą. Jest to implementowane tylko w Menedżerze sterowników. |
| SQL_OJ_CAPABILITIES | 2.01 | Maska bitów SQLUINTEGER wylicza typy sprzężeń zewnętrznych obsługiwanych przez sterownik i źródło danych. Następujące maski bitów służą do określania obsługiwanych typów: SQL_OJ_LEFT = lewe sprzężenia zewnętrzne są obsługiwane. SQL_OJ_RIGHT = Prawe sprzężenia zewnętrzne są obsługiwane. SQL_OJ_FULL = pełne sprzężenia zewnętrzne są obsługiwane. SQL_OJ_NESTED = zagnieżdżone sprzężenia zewnętrzne są obsługiwane. SQL_OJ_NOT_ORDERED = Nazwy kolumn w klauzuli ON sprzężenia zewnętrznego nie muszą być w takiej samej kolejności, jak ich nazwy tabeli w klauzuli OUTER JOIN . SQL_OJ_INNER = Tabela wewnętrzna (tabela po prawej stronie sprzężenia zewnętrznego lub lewej tabeli w prawym sprzężeniu zewnętrznym) może być również używana w sprzężeniu wewnętrznym. Nie dotyczy to pełnych sprzężeń zewnętrznych, które nie mają tabeli wewnętrznej. SQL_OJ_ALL_COMPARISON_OPS = Operator porównania w klauzuli ON może być dowolnymi operatorami porównania ODBC. Jeśli ten bit nie jest ustawiony, w sprzężeniach zewnętrznych można użyć tylko operatora porównania równości (=). Jeśli żadna z tych opcji nie zostanie zwrócona jako obsługiwana, nie jest obsługiwana żadna klauzula sprzężenia zewnętrznego. Aby uzyskać informacje o obsłudze operatorów sprzężenia relacyjnego w instrukcji SELECT zdefiniowanej przez program SQL-92, zobacz SQL_SQL92_RELATIONAL_JOIN_OPERATORS. |
| SQL_ORDER_BY_COLUMNS_IN_SELECT | 2.0 | Ciąg znaków: "Y", jeśli kolumny w klauzuli ORDER BY muszą znajdować się na liście wyboru; w przeciwnym razie, "N". |
| SQL_PARAM_ARRAY_ROW_COUNTS | 3.0 | Funkcja SQLUINTEGER wylicza właściwości sterownika dotyczące dostępności liczb wierszy w sparametryzowanym wykonaniu. Ma następujące wartości: SQL_PARC_BATCH = Liczba pojedynczych wierszy jest dostępna dla każdego zestawu parametrów. Jest to koncepcyjnie równoważne sterownikowi generującemu partię instrukcji SQL, po jednym dla każdego parametru ustawionego w tablicy. Rozszerzone informacje o błędzie można pobrać przy użyciu pola deskryptora SQL_PARAM_STATUS_PTR. SQL_PARC_NO_BATCH = Dostępna jest tylko jedna liczba wierszy, czyli skumulowana liczba wierszy wynikająca z wykonania instrukcji dla całej tablicy parametrów. Jest to koncepcyjnie równoważne traktowaniu instrukcji wraz z pełną tablicą parametrów jako jedną jednostką niepodziealną. Błędy są obsługiwane tak samo, jak w przypadku wykonania jednej instrukcji. |
| SQL_PARAM_ARRAY_SELECTS | 3.0 | SqlUINTEGER wylicza właściwości sterownika dotyczące dostępności zestawów wyników w sparametryzowanym wykonaniu. Ma następujące wartości: SQL_PAS_BATCH = istnieje jeden zestaw wyników dostępny dla zestawu parametrów. Jest to koncepcyjnie równoważne sterownikowi generującemu partię instrukcji SQL, po jednym dla każdego parametru ustawionego w tablicy. SQL_PAS_NO_BATCH = dostępny jest tylko jeden zestaw wyników, który reprezentuje skumulowany zestaw wyników wynikający z wykonania instrukcji dla pełnej tablicy parametrów. Jest to koncepcyjnie równoważne traktowaniu instrukcji wraz z pełną tablicą parametrów jako jedną jednostką niepodziealną. SQL_PAS_NO_SELECT = sterownik nie zezwala na wykonywanie instrukcji generowania zestawu wyników z tablicą parametrów. |
| SQL_POS_OPERATIONS | 2.0 | Maska bitów SQLINTEGER wylicza operacje obsługi w obiektach SQLSetPos. Poniższe maski bitów są używane razem z flagą w celu określenia, które opcje są obsługiwane. SQL_POS_POSITION (ODBC 2.0) SQL_POS_REFRESH (ODBC 2.0) SQL_POS_UPDATE (ODBC 2.0) SQL_POS_DELETE (ODBC 2.0) SQL_POS_ADD (ODBC 2.0) |
| SQL_PROCEDURE_TERM | 1.0 | Ciąg znaków z nazwą dostawcy źródła danych dla procedury; na przykład "procedura bazy danych", "procedura składowana", "procedura", "pakiet" lub "przechowywane zapytanie". |
| SQL_PROCEDURES | 1.0 | Ciąg znaków: "Y", jeśli źródło danych obsługuje procedury, a sterownik obsługuje składnię wywołania procedury ODBC; "N" w przeciwnym razie. |
| SQL_QUOTED_IDENTIFIER_CASE | 2.0 | Wartość SQLUSMALLINT w następujący sposób: SQL_IC_UPPER = identyfikatory cytowane w języku SQL nie są uwzględniane wielkości liter i są przechowywane w wielkiej literze w katalogu systemowym. SQL_IC_LOWER = identyfikatory cytowane w programie SQL nie są uwzględniane wielkości liter i są przechowywane małymi literami w katalogu systemowym. SQL_IC_SENSITIVE = identyfikatory cytowane w języku SQL są uwzględniane wielkości liter i są przechowywane w mieszanym przypadku w katalogu systemowym. (W bazie danych zgodnej ze standardem SQL-92 identyfikatory cytowane są zawsze uwzględniane wielkości liter). SQL_IC_MIXED = identyfikatory cytowane w języku SQL nie są uwzględniane wielkości liter i są przechowywane w mieszanym przypadku w katalogu systemowym. Sterownik zgodny ze standardem SQL-92 będzie zawsze zwracał SQL_IC_SENSITIVE. |
| SQL_ROW_UPDATES | 1.0 | Ciąg znaków: "Y", jeśli kursor oparty na zestawie kluczy lub mieszany przechowuje wersje wierszy lub wartości dla wszystkich pobranych wierszy i w związku z tym może wykryć wszelkie aktualizacje wprowadzone w wierszu przez dowolnego użytkownika od czasu ostatniego pobrania wiersza. (Dotyczy to tylko aktualizacji, a nie usuwania ani wstawiania). Sterownik może zwrócić flagę SQL_ROW_UPDATED do tablicy stanu wiersza po wywołaniu elementu SQLFetchScroll . W przeciwnym razie "N". |
| SQL_SCHEMA_TERM | 1.0 | Ciąg znaków z nazwą dostawcy źródła danych dla schematu; na przykład "właściciel", "Identyfikator autoryzacji" lub "Schemat". Ciąg znaków może być zwracany w górnej, dolnej lub mieszanej wielkości liter. Sterownik zgodny ze standardem SQL-92 będzie zawsze zwracał wartość "schema". Nazwa tego typu informacji została zmieniona na ODBC 3.0 z SQL_OWNER_TERM ODBC 2.0 InfoType . |
| SQL_SCHEMA_USAGE | 2.0 | Maska bitów SQLUINTEGER wylicza instrukcje, w których można używać schematów: SQL_SU_DML_STATEMENTS = Schematy są obsługiwane we wszystkich instrukcjach języka manipulowania danymi: SELECT, INSERT, UPDATE, DELETE, a jeśli są obsługiwane, SELECT FOR UPDATE i positioned update i delete instrukcji. SQL_SU_PROCEDURE_INVOCATION = Schematy są obsługiwane w instrukcji wywołania procedury ODBC. SQL_SU_TABLE_DEFINITION = Schematy są obsługiwane we wszystkich instrukcjach definicji tabeli: CREATE TABLE, CREATE VIEW, ALTER TABLE, DROP TABLE i DROP VIEW. SQL_SU_INDEX_DEFINITION = Schematy są obsługiwane we wszystkich instrukcjach definicji indeksu: CREATE INDEX i DROP INDEX. SQL_SU_PRIVILEGE_DEFINITION = Schematy są obsługiwane we wszystkich instrukcjach definicji uprawnień: GRANT i REVOKE. Sterownik zgodny ze standardem SQL-92 zawsze zwraca SQL_SU_DML_STATEMENTS, SQL_SU_TABLE_DEFINITION i opcje SQL_SU_PRIVILEGE_DEFINITION zgodnie z obsługą. Nazwa tego typu informacji została zmieniona na ODBC 3.0 z SQL_OWNER_USAGE ODBC 2.0 InfoType . |
| SQL_SCROLL_OPTIONS | 1.0 | Uwaga: typ informacji został wprowadzony w wersji ODBC 1.0; każda maska bitów jest oznaczona etykietą z wersją, w której została wprowadzona. Maska bitów SQLUINTEGER wyliczając opcje przewijania obsługiwane dla kursorów z możliwością przewijania. Następujące maski bitów służą do określania, które opcje są obsługiwane: SQL_SO_FORWARD_ONLY = Kursor przewija się tylko do przodu. (ODBC 1.0) SQL_SO_STATIC = dane w zestawie wyników są statyczne. (ODBC 2.0) SQL_SO_KEYSET_DRIVEN = Sterownik zapisuje i używa kluczy dla każdego wiersza w zestawie wyników. (ODBC 1.0) SQL_SO_DYNAMIC = Sterownik przechowuje klucze dla każdego wiersza w zestawie wierszy (rozmiar zestawu kluczy jest taki sam jak rozmiar zestawu wierszy). (ODBC 1.0) SQL_SO_MIXED = Sterownik przechowuje klucze dla każdego wiersza w zestawie kluczy, a rozmiar zestawu kluczy jest większy niż rozmiar zestawu wierszy. Kursor jest oparty na zestawie kluczy wewnątrz zestawu kluczy i dynamiczny poza zestawem kluczy. (ODBC 1.0) Aby uzyskać informacje o kursorach przewijanych, zobacz Przewijanie kursorów. |
| SQL_SEARCH_PATTERN_ESCAPE | 1.0 | Ciąg znaków określający, co sterownik obsługuje jako znak ucieczki, który umożliwia korzystanie ze wzorca metacharacters podkreślenia (_) i znaku procentu (%) jako prawidłowych znaków we wzorcach wyszukiwania. Ten znak ucieczki ma zastosowanie tylko dla tych argumentów funkcji wykazu, które obsługują ciągi wyszukiwania. Jeśli ten ciąg jest pusty, sterownik nie obsługuje znaku ucieczki wzorca wyszukiwania. Ponieważ ten typ informacji nie wskazuje ogólnej obsługi znaku ucieczki w predykacie LIKE , SQL-92 nie zawiera wymagań dotyczących tego ciągu znaków. Ten typ informacji jest ograniczony do funkcji wykazu. Opis użycia znaku ucieczki w ciągach wzorca wyszukiwania można znaleźć w temacie Pattern Value Arguments (Argumenty wartości wzorca). |
| SQL_SERVER_NAME | 1.0 | Ciąg znaków o rzeczywistej nazwie serwera specyficznego dla źródła danych; przydatne, gdy nazwa źródła danych jest używana podczas połączeń SQLConnect, SQLDriverConnect i SQLBrowseConnect. |
| SQL_SPECIAL_CHARACTERS | 2.0 | Ciąg znaków, który zawiera wszystkie znaki specjalne (czyli wszystkie znaki, z wyjątkiem znaków od z, od Z, od Z, od 0 do 9 i podkreślenia), których można użyć w nazwie identyfikatora, takiej jak nazwa tabeli, nazwa kolumny lub nazwa indeksu, w źródle danych. Na przykład "#$^". Jeśli identyfikator zawiera co najmniej jeden z tych znaków, identyfikator musi być identyfikatorem rozdzielanym. |
| SQL_SQL_CONFORMANCE | 3.0 | Wartość SQLUINTEGER wskazująca poziom SQL-92 obsługiwany przez sterownik: SQL_SC_SQL92_ENTRY = zgodne z programem SQL-92 na poziomie wejścia. SQL_SC_FIPS127_2_TRANSITIONAL = zgodność ze standardem FIPS 127-2 na poziomie przejściowym. SQL_SC_SQL92_FULL = zgodność z pełnym poziomem SQL-92. SQL_SC_ SQL92_INTERMEDIATE = zgodny ze standardem SQL-92 na poziomie pośrednim. |
| SQL_SQL92_DATETIME_FUNCTIONS | 3.0 | Maska bitów SQLUINTEGER wylicza funkcje skalarne daty/godziny obsługiwane przez sterownik i skojarzone źródło danych zgodnie z definicją w programie SQL-92. Następujące maski bitów służą do określania, które funkcje daty/godziny są obsługiwane: SQL_SDF_CURRENT_DATE SQL_SDF_CURRENT_TIME SQL_SDF_CURRENT_TIMESTAMP |
| SQL_SQL92_FOREIGN_KEY_DELETE_RULE | 3.0 | Maska bitów SQLUINTEGER wylicza reguły obsługiwane dla klucza obcego w instrukcji DELETE , zgodnie z definicją w języku SQL-92. Następujące maski bitów służą do określania, które klauzule są obsługiwane przez źródło danych: SQL_SFKD_CASCADE SQL_SFKD_NO_ACTION SQL_SFKD_SET_DEFAULT SQL_SFKD_SET_NULL Sterownik zgodny ze standardem FIPS Na poziomie przejściowym zawsze zwraca wszystkie te opcje jako obsługiwane. |
| SQL_SQL92_FOREIGN_KEY_UPDATE_RULE | 3.0 | Maska bitów SQLUINTEGER wylicza reguły obsługiwane dla klucza obcego w instrukcji UPDATE , zgodnie z definicją w języku SQL-92. Następujące maski bitów służą do określania, które klauzule są obsługiwane przez źródło danych: SQL_SFKU_CASCADE SQL_SFKU_NO_ACTION SQL_SFKU_SET_DEFAULT SQL_SFKU_SET_NULL Sterownik zgodny ze standardem SQL-92 zawsze zwraca wszystkie te opcje jako obsługiwane. |
| SQL_SQL92_GRANT | 3.0 | Maska bitów SQLUINTEGER wyliczającą klauzule obsługiwane w instrukcji GRANT zgodnie z definicją w języku SQL-92. Poziom zgodności SQL-92 lub FIPS, na którym ta funkcja musi być obsługiwana, jest wyświetlany w nawiasach obok każdej maski bitów. Następujące maski bitów służą do określania, które klauzule są obsługiwane przez źródło danych: SQL_SG_DELETE_TABLE (poziom wejścia) SQL_SG_INSERT_COLUMN (poziom pośredni) SQL_SG_INSERT_TABLE (poziom wejścia) SQL_SG_REFERENCES_TABLE (poziom wejścia) SQL_SG_REFERENCES_COLUMN (poziom wejścia) SQL_SG_SELECT_TABLE (poziom wejścia) SQL_SG_UPDATE_COLUMN (poziom wejścia) SQL_SG_UPDATE_TABLE (poziom wejścia) SQL_SG_USAGE_ON_DOMAIN (poziom przejściowy FIPS) SQL_SG_USAGE_ON_CHARACTER_SET (poziom przejściowy FIPS) SQL_SG_USAGE_ON_COLLATION (poziom przejściowy FIPS) SQL_SG_USAGE_ON_TRANSLATION (poziom przejściowy FIPS) SQL_SG_WITH_GRANT_OPTION (poziom wejścia) |
| SQL_SQL92_NUMERIC_VALUE_FUNCTIONS | 3.0 | Maska bitów SQLUINTEGER wylicza funkcje skalarne wartości liczbowej obsługiwane przez sterownik i skojarzone źródło danych zgodnie z definicją w programie SQL-92. Następujące maski bitów służą do określania, które funkcje liczbowe są obsługiwane: SQL_SNVF_BIT_LENGTH SQL_SNVF_CHAR_LENGTH SQL_SNVF_CHARACTER_LENGTH SQL_SNVF_EXTRACT SQL_SNVF_OCTET_LENGTH SQL_SNVF_POSITION |
| SQL_SQL92_PREDICATES | 3.0 | Maska bitów SQLUINTEGER wyliczając predykaty obsługiwane w instrukcji SELECT zgodnie z definicją w języku SQL-92. Poziom zgodności SQL-92 lub FIPS, na którym ta funkcja musi być obsługiwana, jest wyświetlany w nawiasach obok każdej maski bitów. Następujące maski bitów służą do określania, które opcje są obsługiwane przez źródło danych: SQL_SP_BETWEEN (poziom wejścia) SQL_SP_COMPARISON (poziom wejścia) SQL_SP_EXISTS (poziom wejścia) SQL_SP_IN (poziom wejścia) SQL_SP_ISNOTNULL (poziom wejścia) SQL_SP_ISNULL (poziom wejścia) SQL_SP_LIKE (poziom wejścia) SQL_SP_MATCH_FULL (poziom pełny) SQL_SP_MATCH_PARTIAL (pełny poziom) SQL_SP_MATCH_UNIQUE_FULL (pełny poziom) SQL_SP_MATCH_UNIQUE_PARTIAL (pełny poziom) SQL_SP_OVERLAPS (poziom przejściowy FIPS) SQL_SP_QUANTIFIED_COMPARISON (poziom wejścia) SQL_SP_UNIQUE (poziom wejścia) |
| SQL_SQL92_RELATIONAL_JOIN_OPERATORS | 3.0 | Maska bitowa SQLUINTEGER wylicza operatory sprzężenia relacyjnego obsługiwane w instrukcji SELECT zgodnie z definicją w języku SQL-92. Poziom zgodności SQL-92 lub FIPS, na którym ta funkcja musi być obsługiwana, jest wyświetlany w nawiasach obok każdej maski bitów. Następujące maski bitów służą do określania, które opcje są obsługiwane przez źródło danych: SQL_SRJO_CORRESPONDING_CLAUSE (poziom pośredni) SQL_SRJO_CROSS_JOIN (poziom pełny) SQL_SRJO_EXCEPT_JOIN (poziom pośredni) SQL_SRJO_FULL_OUTER_JOIN (poziom pośredni) SQL_SRJO_INNER_JOIN (poziom przejściowy FIPS) SQL_SRJO_INTERSECT_JOIN (poziom pośredni) SQL_SRJO_LEFT_OUTER_JOIN (poziom przejściowy FIPS) SQL_SRJO_NATURAL_JOIN (poziom przejściowy FIPS) SQL_SRJO_RIGHT_OUTER_JOIN (poziom przejściowy FIPS) SQL_SRJO_UNION_JOIN (pełny poziom) SQL_SRJO_INNER_JOIN wskazuje obsługę składni sprzężenia wewnętrznego , a nie dla możliwości sprzężenia wewnętrznego. Obsługa składni INNER JOIN to FIPS TRANSITIONAL, natomiast obsługa funkcji sprzężenia wewnętrznego to ENTRY. |
| SQL_SQL92_REVOKE | 3.0 | Maska bitów SQLUINTEGER wyliczając klauzule obsługiwane w instrukcji REVOKE , zgodnie z definicją w języku SQL-92, obsługiwane przez źródło danych. Poziom zgodności SQL-92 lub FIPS, na którym ta funkcja musi być obsługiwana, jest wyświetlany w nawiasach obok każdej maski bitów. Następujące maski bitów służą do określania, które klauzule są obsługiwane przez źródło danych: SQL_SR_CASCADE (poziom przejściowy FIPS) SQL_SR_DELETE_TABLE (poziom wejścia) SQL_SR_GRANT_OPTION_FOR (poziom pośredni) SQL_SR_INSERT_COLUMN (poziom pośredni) SQL_SR_INSERT_TABLE (poziom wejścia) SQL_SR_REFERENCES_COLUMN (poziom wejścia) SQL_SR_REFERENCES_TABLE (poziom wejścia) SQL_SR_RESTRICT (poziom przejściowy FIPS) SQL_SR_SELECT_TABLE (poziom wejścia) SQL_SR_UPDATE_COLUMN (poziom wejścia) SQL_SR_UPDATE_TABLE (poziom wejścia) SQL_SR_USAGE_ON_DOMAIN (poziom przejściowy FIPS) SQL_SR_USAGE_ON_CHARACTER_SET (poziom przejściowy FIPS) SQL_SR_USAGE_ON_COLLATION (poziom przejściowy FIPS) SQL_SR_USAGE_ON_TRANSLATION (poziom przejściowy FIPS) |
| SQL_SQL92_ROW_VALUE_CONSTRUCTOR | 3.0 | Maska bitów SQLUINTEGER wylicza wyrażenia konstruktora wartości wiersza obsługiwane w instrukcji SELECT zgodnie z definicją w języku SQL-92. Następujące maski bitów służą do określania, które opcje są obsługiwane przez źródło danych: SQL_SRVC_VALUE_EXPRESSION SQL_SRVC_NULL SQL_SRVC_DEFAULT SQL_SRVC_ROW_SUBQUERY |
| SQL_SQL92_STRING_FUNCTIONS | 3.0 | Maska bitów SQLUINTEGER wylicza funkcje skalarne ciągów obsługiwane przez sterownik i skojarzone źródło danych zgodnie z definicją w programie SQL-92. Następujące maski bitów służą do określania, które funkcje ciągów są obsługiwane: SQL_SSF_CONVERT SQL_SSF_LOWERSQL_SSF_UPPER SQL_SSF_SUBSTRING SQL_SSF_TRANSLATE SQL_SSF_TRIM_BOTH SQL_SSF_TRIM_LEADING SQL_SSF_TRIM_TRAILING |
| SQL_SQL92_VALUE_EXPRESSIONS | 3.0 | Maska bitów SQLUINTEGER wyliczając obsługiwane wyrażenia wartości zgodnie z definicją w języku SQL-92. Poziom zgodności SQL-92 lub FIPS, na którym ta funkcja musi być obsługiwana, jest wyświetlany w nawiasach obok każdej maski bitów. Następujące maski bitów służą do określania, które opcje są obsługiwane przez źródło danych: SQL_SVE_CASE (poziom pośredni) SQL_SVE_CAST (poziom przejściowy FIPS) SQL_SVE_COALESCE (poziom pośredni) SQL_SVE_NULLIF (poziom pośredni) |
| SQL_STANDARD_CLI_CONFORMANCE | 3.0 | Maska bitów SQLUINTEGER wylicza standard interfejsu wiersza polecenia lub standardy, z którymi jest zgodny sterownik. Następujące maski bitów służą do określania poziomów, z którymi sterownik jest zgodny: SQL_SCC_XOPEN_CLI_VERSION1: sterownik jest zgodny z interfejsem wiersza polecenia otwórz grupę w wersji 1. SQL_SCC_ISO92_CLI: sterownik jest zgodny z interfejsem wiersza polecenia ISO 92. |
| SQL_STATIC_CURSOR_ATTRIBUTES1 | 3.0 | Maska bitów SQLUINTEGER, która opisuje atrybuty statycznego kursora obsługiwanego przez sterownik. Ta maska bitów zawiera pierwszy podzestaw atrybutów; w drugim podzestawie zobacz SQL_STATIC_CURSOR_ATTRIBUTES2. Następujące maski bitów służą do określania, które atrybuty są obsługiwane: SQL_CA1_NEXT SQL_CA1_ABSOLUTE SQL_CA1_RELATIVE SQL_CA1_BOOKMARK SQL_CA1_LOCK_NO_CHANGE SQL_CA1_LOCK_EXCLUSIVE SQL_CA1_LOCK_UNLOCK SQL_CA1_POS_POSITION SQL_CA1_POS_UPDATE SQL_CA1_POS_DELETE SQL_CA1_POS_REFRESH SQL_CA1_POSITIONED_UPDATE SQL_CA1_POSITIONED_DELETE SQL_CA1_SELECT_FOR_UPDATE SQL_CA1_BULK_ADD SQL_CA1_BULK_UPDATE_BY_BOOKMARK SQL_CA1_BULK_DELETE_BY_BOOKMARK SQL_CA1_BULK_FETCH_BY_BOOKMARK Aby uzyskać opisy tych masek bitów, zobacz SQL_DYNAMIC_CURSOR_ATTRIBUTES1 (i zastąp "kursor statyczny" "kursorem dynamicznym" w opisach). Sterownik zgodny ze standardem SQL-92 Intermediate zwykle zwraca SQL_CA1_NEXT, SQL_CA1_ABSOLUTE i opcje SQL_CA1_RELATIVE jako obsługiwane, ponieważ sterownik obsługuje kursory przewijane za pomocą osadzonej instrukcji FETCH języka SQL. Ponieważ nie określa to bezpośrednio podstawowej obsługi języka SQL, jednak kursory przewijane mogą nie być obsługiwane, nawet w przypadku sterownika zgodnego z poziomem pośrednim SQL-92. |
| SQL_STATIC_CURSOR_ATTRIBUTES2 | 3.0 | Maska bitów SQLUINTEGER, która opisuje atrybuty statycznego kursora obsługiwanego przez sterownik. Ta maska bitów zawiera drugi podzestaw atrybutów; aby zapoznać się z pierwszym podzbiorem, zobacz SQL_STATIC_CURSOR_ATTRIBUTES1. Następujące maski bitów służą do określania, które atrybuty są obsługiwane: SQL_CA2_READ_ONLY_CONCURRENCY SQL_CA2_LOCK_CONCURRENCY SQL_CA2_OPT_ROWVER_CONCURRENCY SQL_CA2_OPT_VALUES_CONCURRENCY SQL_CA2_SENSITIVITY_ADDITIONS SQL_CA2_SENSITIVITY_DELETIONS SQL_CA2_SENSITIVITY_UPDATES SQL_CA2_MAX_ROWS_SELECT SQL_CA2_MAX_ROWS_INSERT SQL_CA2_MAX_ROWS_DELETE SQL_CA2_MAX_ROWS_UPDATE SQL_CA2_MAX_ROWS_CATALOG SQL_CA2_MAX_ROWS_AFFECTS_ALL SQL_CA2_CRC_EXACT SQL_CA2_CRC_APPROXIMATE SQL_CA2_SIMULATE_NON_UNIQUE SQL_CA2_SIMULATE_TRY_UNIQUE SQL_CA2_SIMULATE_UNIQUE Aby uzyskać opisy tych masek bitów, zobacz SQL_DYNAMIC_CURSOR_ATTRIBUTES2 (i zastąp "kursor statyczny" "kursorem dynamicznym" w opisach). |
| SQL_STRING_FUNCTIONS | 1.0 | Uwaga: typ informacji został wprowadzony w wersji ODBC 1.0; każda maska bitów jest oznaczona etykietą z wersją, w której została wprowadzona. Maska bitów SQLUINTEGER wylicza funkcje ciągów skalarnych obsługiwanych przez sterownik i skojarzone źródło danych. Następujące maski bitów służą do określania, które funkcje ciągów są obsługiwane: SQL_FN_STR_ASCII (ODBC 1.0) SQL_FN_STR_BIT_LENGTH (ODBC 3.0) SQL_FN_STR_CHAR (ODBC 1.0) SQL_FN_STR_CHAR_LENGTH (ODBC 3.0) SQL_FN_STR_CHARACTER_LENGTH (ODBC 3.0) SQL_FN_STR_CONCAT (ODBC 1.0) SQL_FN_STR_DIFFERENCE (ODBC 2.0) SQL_FN_STR_INSERT (ODBC 1.0) SQL_FN_STR_LCASE (ODBC 1.0) SQL_FN_STR_LEFT (ODBC 1.0) SQL_FN_STR_LENGTH (ODBC 1.0) SQL_FN_STR_LOCATE (ODBC 1.0) SQL_FN_STR_LTRIM (ODBC 1.0) SQL_FN_STR_OCTET_LENGTH (ODBC 3.0) SQL_FN_STR_POSITION (ODBC 3.0) SQL_FN_STR_REPEAT (ODBC 1.0) SQL_FN_STR_REPLACE (ODBC 1.0) SQL_FN_STR_RIGHT (ODBC 1.0) SQL_FN_STR_RTRIM (ODBC 1.0) SQL_FN_STR_SOUNDEX (ODBC 2.0) SQL_FN_STR_SPACE (ODBC 2.0) SQL_FN_STR_SUBSTRING (ODBC 1.0) SQL_FN_STR_UCASE (ODBC 1.0) Jeśli aplikacja może wywołać funkcję skalarną LOCATE z string_exp1, string_exp2 i argumentami początkowymi , sterownik zwraca maskę bitów SQL_FN_STR_LOCATE. Jeśli aplikacja może wywołać funkcję skalarną LOCATE tylko z argumentami string_exp1 i string_exp2 , sterownik zwraca maskę bitów SQL_FN_STR_LOCATE_2. Sterowniki, które w pełni obsługują funkcję skalarną LOCATE , zwracają obie maski bitów. (Aby uzyskać więcej informacji, zobacz Funkcje ciągów w dodatku E, "Funkcje skalarne". |
| SQL_SUBQUERIES | 2.0 | Maska bitów SQLUINTEGER wyliczając predykaty, które obsługują podzapytania: SQL_SQ_CORRELATED_SUBQUERIES SQL_SQ_COMPARISON SQL_SQ_EXISTS SQL_SQ_INSQL_SQ_QUANTIFIED Maska bitów SQL_SQ_CORRELATED_SUBQUERIES wskazuje, że wszystkie predykaty obsługujące podzapytania obsługują skorelowane podzapytania. Sterownik zgodny z poziomem wejścia SQL-92 zawsze zwraca maskę bitów, w której ustawiono wszystkie te bity. |
| SQL_SYSTEM_FUNCTIONS | 1.0 | Maska bitów SQLUINTEGER wylicza funkcje systemu skalarnego obsługiwane przez sterownik i skojarzone źródło danych. Następujące maski bitów służą do określania, które funkcje systemowe są obsługiwane: SQL_FN_SYS_DBNAME SQL_FN_SYS_IFNULL SQL_FN_SYS_USERNAME |
| SQL_TABLE_TERM | 1.0 | Ciąg znaków z nazwą dostawcy źródła danych dla tabeli; na przykład "tabela" lub "plik". Ten ciąg znaków może znajdować się w górnej, dolnej lub mieszanej wielkości liter. Sterownik zgodny ze standardem SQL-92 będzie zawsze zwracał wartość "table". |
| SQL_TIMEDATE_ADD_INTERVALS | 2.0 | Maska bitów SQLUINTEGER wylicza interwały sygnatur czasowych obsługiwane przez sterownik i skojarzone źródło danych dla funkcji skalarnych TIMESTAMPADD. Następujące maski bitów służą do określania, które interwały są obsługiwane: SQL_FN_TSI_FRAC_SECOND SQL_FN_TSI_SECOND SQL_FN_TSI_MINUTE SQL_FN_TSI_HOUR SQL_FN_TSI_DAY SQL_FN_TSI_WEEK SQL_FN_TSI_MONTH SQL_FN_TSI_QUARTER SQL_FN_TSI_YEAR Sterownik zgodny ze standardem FIPS Na poziomie przejściowym zawsze zwraca maskę bitów, w której ustawiono wszystkie te bity. |
| SQL_TIMEDATE_DIFF_INTERVALS | 2.0 | Maska bitów SQLUINTEGER wylicza interwały sygnatur czasowych obsługiwane przez sterownik i skojarzone źródło danych dla funkcji skalarnego TIMESTAMPDIFF. Następujące maski bitów służą do określania, które interwały są obsługiwane: SQL_FN_TSI_FRAC_SECOND SQL_FN_TSI_SECOND SQL_FN_TSI_MINUTE SQL_FN_TSI_HOUR SQL_FN_TSI_DAY SQL_FN_TSI_WEEK SQL_FN_TSI_MONTH SQL_FN_TSI_QUARTER SQL_FN_TSI_YEAR Sterownik zgodny ze standardem FIPS Na poziomie przejściowym zawsze zwraca maskę bitów, w której ustawiono wszystkie te bity. |
| SQL_TIMEDATE_FUNCTIONS | 1.0 | Uwaga: typ informacji został wprowadzony w wersji ODBC 1.0; każda maska bitów jest oznaczona etykietą z wersją, w której została wprowadzona. Maska bitów SQLUINTEGER wylicza funkcje daty i godziny skalarnych obsługiwane przez sterownik i skojarzone źródło danych. Następujące maski bitów służą do określania, które funkcje daty i godziny są obsługiwane: SQL_FN_TD_CURRENT_DATE (ODBC 3.0) SQL_FN_TD_CURRENT_TIME (ODBC 3.0) SQL_FN_TD_CURRENT_TIMESTAMP (ODBC 3.0) SQL_FN_TD_CURDATE (ODBC 1.0) SQL_FN_TD_CURTIME (ODBC 1.0) SQL_FN_TD_DAYNAME (ODBC 2.0) SQL_FN_TD_DAYOFMONTH (ODBC 1.0) SQL_FN_TD_DAYOFWEEK (ODBC 1.0) SQL_FN_TD_DAYOFYEAR (ODBC 1.0) SQL_FN_TD_EXTRACT (ODBC 3.0) SQL_FN_TD_HOUR (ODBC 1.0) SQL_FN_TD_MINUTE (ODBC 1.0) SQL_FN_TD_MONTH (ODBC 1.0) SQL_FN_TD_MONTHNAME (ODBC 2.0) SQL_FN_TD_NOW (ODBC 1.0) SQL_FN_TD_QUARTER (ODBC 1.0) SQL_FN_TD_SECOND (ODBC 1.0) SQL_FN_TD_TIMESTAMPADD (ODBC 2.0) SQL_FN_TD_TIMESTAMPDIFF (ODBC 2.0) SQL_FN_TD_WEEK (ODBC 1.0) SQL_FN_TD_YEAR (ODBC 1.0) |
| SQL_TXN_CAPABLE | 1.0 | Uwaga: typ informacji został wprowadzony w wersji ODBC 1.0; każda zwracana wartość jest oznaczona etykietą z wersją, w której została wprowadzona. Wartość SQLUSMALLINT opisująca obsługę transakcji w sterowniku lub źródle danych: SQL_TC_NONE = transakcje nie są obsługiwane. (ODBC 1.0) SQL_TC_DML = Transakcje mogą zawierać tylko instrukcje języka DML (SELECT, INSERT, UPDATE, DELETE). Instrukcje języka DDL (Data Definition Language) napotkane w transakcji powodują błąd. (ODBC 1.0) SQL_TC_DDL_COMMIT = transakcje mogą zawierać tylko instrukcje DML. Instrukcje DDL (CREATE TABLE, DROP INDEX itd.) napotkane w transakcji powodują, że transakcja zostanie zatwierdzona. (ODBC 2.0) SQL_TC_DDL_IGNORE = transakcje mogą zawierać tylko instrukcje DML. Instrukcje DDL napotkane w transakcji są ignorowane. (ODBC 2.0) SQL_TC_ALL = transakcje mogą zawierać instrukcje DDL i instrukcje DML w dowolnej kolejności. (ODBC 1.0) (Ponieważ obsługa transakcji jest obowiązkowa w programie SQL-92, sterownik zgodny z programem SQL-92 [dowolny poziom] nigdy nie zwróci SQL_TC_NONE. |
| SQL_TXN_ISOLATION_OPTION | 1.0 | Maska bitów SQLUINTEGER wyliczając poziomy izolacji transakcji dostępne ze sterownika lub źródła danych. Następujące maski bitów są używane razem z flagą w celu określenia, które opcje są obsługiwane: SQL_TXN_READ_UNCOMMITTED SQL_TXN_READ_COMMITTED SQL_TXN_REPEATABLE_READ SQL_TXN_SERIALIZABLE Opisy tych poziomów izolacji można znaleźć w opisie SQL_DEFAULT_TXN_ISOLATION. Aby ustawić poziom izolacji transakcji, aplikacja wywołuje sqlSetConnectAttr , aby ustawić atrybut SQL_ATTR_TXN_ISOLATION. Aby uzyskać więcej informacji, zobacz SQLSetConnectAttr, funkcja. Sterownik zgodny ze standardem SQL-92 będzie zawsze zwracał SQL_TXN_SERIALIZABLE zgodnie z obsługą. Sterownik zgodny ze standardem FIPS w wersji przejściowej zawsze zwraca wszystkie te opcje jako obsługiwane. |
| SQL_UNION | 2.0 | Maska bitów SQLUINTEGER wylicza obsługę klauzuli UNION : SQL_U_UNION = Źródło danych obsługuje klauzulę UNION . SQL_U_UNION_ALL = Źródło danych obsługuje słowo kluczowe ALL w klauzuli UNION . (W tym przypadku funkcja SQLGetInfo zwraca zarówno SQL_U_UNION, jak i SQL_U_UNION_ALL). Sterownik zgodny z poziomem wejścia SQL-92 zawsze zwraca obie te opcje jako obsługiwane. |
| SQL_USER_NAME | 1.0 | Ciąg znaków o nazwie używanej w określonej bazie danych, który może różnić się od nazwy logowania. |
| SQL_XOPEN_CLI_YEAR | 3.0 | Ciąg znaków wskazujący rok publikacji specyfikacji open group, z którą wersja menedżera sterowników ODBC jest w pełni zgodna. |
Przykład
Funkcja SQLGetInfo zwraca listy obsługiwanych opcji jako maskę bitów SQLUINTEGER w *InfoValuePtr. Maska bitów dla każdej opcji jest używana wraz z flagą w celu określenia, czy opcja jest obsługiwana.
Na przykład aplikacja może użyć następującego kodu, aby określić, czy funkcja skalarna SUBSTRING jest obsługiwana przez sterownik skojarzony z połączeniem.
Aby zapoznać się z innym przykładem korzystania z polecenia SQLGetInfo, zobacz FUNKCJA SQLTables.
SQLUINTEGER fFuncs;
SQLGetInfo(hdbc,
SQL_STRING_FUNCTIONS,
(SQLPOINTER)&fFuncs,
sizeof(fFuncs),
NULL);
// SUBSTRING supported
if (fFuncs & SQL_FN_STR_SUBSTRING)
; // do something
// SUBSTRING not supported
else
; // do something else
Powiązane funkcje
Zwracanie ustawienia atrybutu połączenia
SQLGetConnectAttr, funkcja
Określanie, czy sterownik obsługuje funkcję
SQLGetFunctions, funkcja
Zwracanie ustawienia atrybutu instrukcji
SQLGetStmtAttr, funkcja
Zwracanie informacji o typach danych źródła danych
SQLGetTypeInfo, funkcja
Zobacz też
dokumentacja interfejsu API ODBC
Pliki nagłówków ODBC