Udostępnij za pośrednictwem


SQLSetStmtAttr

The SQL Server Native klient ODBC driver does not support the mixed (keyset/dynamic) kursor model. Próby ustawienia rozmiaru zestaw kluczy przy użyciu SQL_ATTR_KEYSET_SIZE nie powiedzie się, jeśli podana wartość nie jest równa 0.

Aplikacja ustawia SQL_ATTR_ROW_ARRAY_SIZE wszystkie deklaracje zadeklarować liczby wierszy zwracanych w SQLFetch or SQLFetchScroll wywołanie funkcja.Deklaracje wskazaniem kursor serwera, sterownik używa do określenia wielkości SQL_ATTR_ROW_ARRAY_SIZE blok wierszy serwer generuje do spełnienia żądania pobrania z kursor.To rozmiar blok kursor dynamiczny wiersza członkostwa i porządkowanie są stałe, gdy poziom izolacji transakcji są wystarczające do zapewnienia powtarzalnych odczytów transakcji zatwierdzonych.Dynamiczne całkowicie poza krawędzi blok wskazany przez wartość ta znajduje się kursor.Rozmiar blok kursor serwera jest całkowicie dynamiczne i można je zmienić w dowolnym miejscu przetwarzania pobrania.

SQLSetStmtAttr i parametry Valued tabela

SQLSetStmtAttr zestaw SQL_SOPT_SS_PARAM_FOCUS w aplikacji parametr deskryptora zabezpieczeń (APD) przed uzyskaniem dostępu do pola deskryptora dla parametru wartości w tabela kolumn.

Jeśli nastąpi próba zestaw SQL_SOPT_SS_PARAM_FOCUS do liczba porządkowa parametru, który nie jest parametrem wycenione tabela SQLSetStmtAttrZwraca SQL_ERROR i diagnostyczne rekord jest tworzony z SQLSTATE = HY024 i komunikat "nieprawidłowy atrybut value". SQL_SOPT_SS_PARAM_FOCUS nie ulega zmianie po zwróceniu SQL_ERROR.

Ustawianie SQL_SOPT_SS_PARAM_FOCUS 0 przywraca dostęp do rekordów deskryptora dla parametrów.

SQLSetStmtAttr może być również SQL_SOPT_SS_NAME_SCOPE zestaw.Aby uzyskać więcej informacji zobacz sekcję SQL_SOPT_SS_NAME_SCOPE w dalszej części tego tematu.

Aby uzyskać więcej informacji zobaczTabela Valued metadane parametr Prepared deklaracji.

Aby uzyskać więcej informacji na temat parametrów wycenione tabela zobacz Tabela Valued parametry (ODBC).

Obsługa SQLSetStmtAttr odstępem kolumny

SQLSetStmtAttr może służyć do SQL_SOPT_SS_NAME_SCOPE zestaw.Aby uzyskać więcej informacji zobacz temat SQL_SOPT_SS_NAME_SCOPE sekcji w dalszej części tego topic.For dowiedzieć się więcej na temat rozrzedzone kolumn, zobacz Obsługa rozrzedzenia kolumny (ODBC).

Atrybuty instrukcja

The SQL Server Native klient ODBC driver also supports the following driver-specific instrukcja attributes.

SQL_SOPT_SS_CURSOR_OPTIONS

Atrybut SQL_SOPT_SS_CURSOR Określa, czy sterownik będzie używał opcje wydajności specyficzne dla sterownika na kursory.SQLGetData nie jest dopuszczalna, gdy te opcje są zestaw.Ustawieniem domyślnym jest SQL_CO_OFF.Te opcje są prawidłowe tylko wtedy, gdy połączenie z wystąpienie programu SQL Server w wersja 7.0 lub nowszej. The ValuePtr value is of type SQLLEN.

ValuePtr value

Description

SQL_CO_OFF

Domyślny.Wyłącza kursory szybkie — tylko przesyłanie dalej, tylko do odczytu i autofetch, umożliwia SQLGetData na do przodu - tylko, odczytu - tylko kursory.Gdy jest SQL_SOPT_SS_CURSOR_OPTIONS zestaw do SQL_CO_OFF, nie zmieni typ kursor.Oznacza to, szybkie kursor progresywny pozostanie szybkim kursor progresywny.Aby zmienić typ kursor, aplikacja musi teraz zestaw typu kursor do innej za pomocą SQLzestawStmtAttr/ SQL_ATTR_CURSOR_TYPE.

SQL_CO_FFO

Umożliwia szybkie kursorów tylko przesyłanie dalej, tylko do odczytu, wyłącza SQLGetData na do przodu - tylko, odczytu - tylko kursory.

SQL_CO_AF

Włącza opcję autofetch na dowolny typ kursor.Gdy ta opcja jest zestaw dla dojścia instrukcja, SQLExecute or SQLExecDirect wygeneruje niejawna SQLFetchScroll (SQL_FIRST).Kursor jest otwarty i pierwszej instancji wierszy jest zwracany w jednym obie strony na serwerze.

SQL_CO_FFO_AF

Umożliwia szybkie kursory tylko przesyłanie dalej z opcją autofetch.Jest taka sama, jak gdyby zarówno SQL_CO_AF, jak i SQL_CO_FFO.

Jeśli te opcje są ustawione tak, serwer zamyka kursor automatycznie, gdy wykryje, że pobrane w ostatnim wierszu.Aplikacja nadal musi wywołać. SQLFreeStmt (SQL_CLOSE) lub SQLCloseCursor, ale sterownik nie ma wysyłać powiadomienie zamknięcia do serwera.

Jeśli lista wyboru tekst, ntext, or obraz kolumna, kursor szybko do przodu tylko zostanie przekonwertowany na kursor dynamiczny i SQLGetData jest dozwolone.

SQL_SOPT_SS_DEFER_PREPARE

Atrybut SQL_SOPT_SS_DEFER_PREPARE Określa, czy instrukcja jest przygotowany natychmiast lub odłożone do SQLExecute, SQLDescribeCol or SQLDescribeParam jest wykonywany.W SQL Server 7.0 lub starszym, ta właściwość jest ignorowana (nie odroczone przygotować). The ValuePtr value is of type SQLLEN.

ValuePtr value

Description

SQL_DP_ON

Domyślny.Po telefonicznej SQLPrepare, do przygotowania instrukcja jest przesunięty do SQLExecute nosi nazwę lub metaproperty operacji (SQLDescribeCol or SQLDescribeParam) zostanie wykonana.

SQL_DP_OFF

W instrukcja jest gotowa natychmiast SQLPrepare jest wykonywany.

SQL_SOPT_SS_REGIONALIZE

Atrybut SQL_SOPT_SS_REGIONALIZE służy do określania konwersji danych poziom instrukcja.Atrybut powoduje, że sterownik z powodu regionalny klient podczas konwersji data, czas, a wartości walut ciągów znaków.Konwersja jest z SQL Server macierzyste typy danych tylko z ciągów znaków.

The ValuePtr value is of type SQLLEN.

ValuePtr value

Description

SQL_RE_OFF

Domyślny.Sterownik nie konwertuje data, czas i danych walutowych na dane ciąg znaków przy użyciu regionalny klient.

SQL_RE_ON

Sterownik używa regionalny klient podczas konwersji data, godziny i waluty danych dane ciąg znaków.

Ustawienia regionalne konwersji odnoszą się do waluty, liczbowe, data i czas typów danych.Ustawienia konwersji dotyczy jedynie do wyprowadzenia konwersje, gdy waluta, liczbowe, data lub wartości czas są konwertowane na ciągi znaków.

Uwaga

Gdy włączona jest opcja instrukcja SQL_SOPT_SS_REGIONALIZE, sterownik używa regionalny ustawień rejestru dla bieżącego użytkownika.Jeśli aplikacja ustawia go, na przykład wywołanie, sterownik przestaje honoruje regionalny bieżącego wątek SetThreadLocale.

Zmienianie zachowania regionalnych urządzenie źródłowe danych może być przyczyną awarii aplikacji.Aplikacja, która analizuje ciągi daty i oczekuje, że data ciągów są wyświetlane zgodnie z definicją ODBC, może mieć negatywny wpływ na zmiany tej wartości.

SQL_SOPT_SS_TEXTPTR_LOGGING

Atrybut SQL_SOPT_SS_TEXTPTR_LOGGING Włącza lub wyłącza rejestrowanie operacji na kolumnach zawierających tekst or obraz dane.The ValuePtr value is of type SQLLEN.

ValuePtr value

Description

SQL_TL_OFF

Wyłącza rejestrowanie operacji wykonywanych na tekst and obraz dane.

SQL_TL_ON

Domyślny.Włącza rejestrowanie operacji wykonywanych na tekst and obraz dane.

SQL_SOPT_SS_HIDDEN_COLUMNS

SQL_SOPT_SS_HIDDEN_COLUMNS atrybut ukryty w kolumnach umożliwia uzyskanie dostępu do zestaw wyników, SQL Server Instrukcja SELECT FOR BROWSE. Sterownik nie ujawnia te kolumny domyślnie.The ValuePtr value is of type SQLLEN.

ValuePtr value

Description

SQL_HC_OFF

Domyślny.DO PRZEGLĄDANIA kolumny są ukryte z zestaw wyników.

SQL_HC_ON

Opisuje FOR BROWSE kolumny.

SQL_SOPT_SS_QUERYNOTIFICATION_MSGTEXT

Atrybut SQL_SOPT_SS_QUERYNOTIFICATION_MSGTEXT zwraca tekst komunikatu dla żądania powiadomienie kwerendy.

SQL_SOPT_SS_QUERYNOTIFICATION_OPTIONS

Atrybut SQL_SOPT_SS_QUERYNOTIFICATION_OPTIONS Określa opcje, używane dla żądania powiadomienie kwerendy.Określono w ciąg z name=value Składnia określone poniżej. Aplikacja jest odpowiedzialna za tworzenie usługa i odczytywania powiadomień z kolejki.

Składnia ciąg kwerendy powiadomień opcji jest następująca:

service=<service-name>[;(local database=<database>|broker instance=<broker instance>)]

Na przykład:

service=mySSBService;local database=mydb

SQL_SOPT_SS_QUERYNOTIFICATION_TIMEOUT

Atrybut SQL_SOPT_SS_QUERYNOTIFICATION_TIMEOUT określa liczbę sekund, które ma pozostać aktywne powiadomienie kwerendy.Wartością domyślną jest 432000 sekund (5 dni).The ValuePtr value is of type SQLLEN.

SQL_SOPT_SS_PARAM_FOCUS

Atrybut SQL_SOPT_SS_PARAM_FOCUS określa fokus do kolejnych SQLBindParameter, SQLGetDescField, SQLSetDescField, SQLGetDescRec, a SQLSetDescRec wywołania.

Typ dla SQL_SOPT_SS_PARAM_FOCUS jest SQLULEN.

Wartością domyślną jest 0, co oznacza, że te wywołania parametry adresów, które odpowiadają znaczników parametru w instrukcja języka SQL.Gdy zestaw parametr liczba parametr wycenione tabela te wywołania kierować kolumn tego parametru wartości w tabela.Gdy zestaw do wartości, która nie jest liczba parametrów, parametru wartości w tabela, te wywołania zwracają błąd IM020: "Parametr fokusu nie odnosi się do parametru wartości w tabela".

SQL_SOPT_SS_NAME_SCOPE

Atrybut SQL_SOPT_SS_NAME_SCOPE Określa nazwę zakres wykazu kolejne wywołania funkcja.Zestaw wyników zwróconych przez SQLColumns zależy od ustawienia SQL_SOPT_SS_NAME_SCOPE.

Typ dla SQL_SOPT_SS_NAME_SCOPE jest SQLULEN.

ValuePtr value

Description

SQL_SS_NAME_SCOPE_TABLE

Wartość domyślna.

W przypadku korzystania z wartości w tabela parametrów, wskazuje to metadane dla samych tabel, które powinny być zwrócone.

Podczas korzystania z funkcji rozrzedzone kolumn SQLColumns Zwraca tylko kolumny, które nie są członkami sparse column_set.

SQL_SS_NAME_SCOPE_TABLE_TYPE

Oznacza, że aplikacja wymaga metadane dla tabela, a nie do rzeczywistego tabela (funkcje katalog powinien zwrócić metadane dla typów tabela).Następnie aplikacja przekazuje TYPE_NAME parametru wartości tabela jako TableName parametr.

SQL_SS_NAME_SCOPE_EXTENDED

Podczas korzystania z funkcji rozrzedzone kolumn SQLColumns Zwraca wszystkie kolumny, niezależnie od column_set członkostwo.

SQL_SS_NAME_SCOPE_SPARSE_COLUMN_SET

Podczas korzystania z funkcji rozrzedzone kolumn SQLColumns Zwraca tylko kolumny, które są członkami sparse column_set.

SQL_SS_NAME_SCOPE_DEFAULT

Równe SQL_SS_NAME_SCOPE_TABLE.

SS_TYPE_CATALOG_NAME i SS_TYPE_SCHEMA_NAME są używane z CatalogName i SchemaName Parametry, odpowiednio, do identyfikacji katalogu i schematu dla parametru wartości w tabela. Po zakończeniu pobierania metadane dla wartości tabela parametry aplikacji musi zestaw SQL_SOPT_SS_NAME_SCOPE do jego domyślną wartość SQL_SS_NAME_SCOPE_TABLE.

Jeśli ustawiono SQL_SOPT_SS_NAME_SCOPE SQL_SS_NAME_SCOPE_TABLE, kwerendy do serwerów połączonych się nie powieść.Wywołania SQLColumns lub SQLPrimaryKeys z wykazu, która zawiera serwer składnika zakończy się niepowodzeniem.

Próba ustawiony na nieprawidłową wartość SQL_SOPT_SS_NAME_SCOPE SQL_ERROR jest zwracany i diagnostyczne rekord jest generowany z HY024 SQLSTATE i komunikat "nieprawidłowy atrybut value".

Jeżeli katalog działają inne następnie SQLTables, SQLColumns, lub SQLPrimaryKeys jest wywoływane, gdy SQL_SOPT_SS_NAME_SCOPE ma wartość innych niż SQL_SS_NAME_SCOPE_TABLE, SQL_ERROR jest zwracany. Diagnostyczne rekordu wygenerowany przy użyciu HY010 SQLSTATE i komunikatu „ funkcja Błąd sekwencji (SQL_SOPT_SS_NAME_SCOPE nie jest zestaw do SQL_SS_NAME_SCOPE_TABLE) ".

Historia zmian

Microsoft Learning

Zaktualizowane typu SQL_SOPT_SS_NAME_SCOPE i SQL_SOPT_SS_PARAM_FOCUS teraz być SQLULEN.