Udostępnij za pośrednictwem


SQLSetStmtAttr

SQL Server Sterownika ODBC macierzystym klienta nie obsługuje modelu mieszanego (w zestawu kluczy na dynamiczny) kursor .Próby zestaw , którego rozmiar zestawu kluczy przy użyciu SQL_ATTR_KEYSET_SIZE zakończy się niepowodzeniem, jeśli wartość zestaw jest równa 0.

Aplikacja ustawia wszystkie deklaracje zadeklarować liczbę wierszy zwracanych w SQL_ATTR_ROW_ARRAY_SIZE SQLFetch lub SQLFetchScrollwywołaniefunkcja . Deklaracje wskazujące serwera kursorsterownik używa SQL_ATTR_ROW_ARRAY_SIZE, aby określić rozmiar blok wierszy serwer generuje spełnić żądania pobrania z kursor.Rozmiar blok w dynamicznych kursorw ramach członkostwa w wierszu i porządkowanie są ustalone w przypadku transakcji poziom izolacji wystarczający do zapewnienia powtarzalnych odczyty transakcji.kursor jest całkowicie dynamiczne poza z blok wskazane przez tę wartość.Rozmiarblok kursorserwera jest całkowicie dynamiczne i można zmieniać w dowolnym miejscu przetwarzania pobrania.

SQLSetStmtAttr i parametry z wartościami przechowywanymi w tabeli

SQLSetStmtAttrUmożliwia zestaw SQL_SOPT_SS_PARAM_FOCUS w deskryptorze parametr aplikacji (APD) przed uzyskaniem dostępu do pola tabeladeskryptora-wycenione parametr kolumny.

Jeśli jest podejmowana próba zestaw SQL_SOPT_SS_PARAM_FOCUS liczba porządkowa parametru nie jest tabela-wyceniane parametr SQLSetStmtAttr zwraca wartość SQL_ERROR i diagnostycznych rekord jest tworzony z SQLSTATE = HY024 i komunikat "nieprawidłowy atrybut value".SQL_SOPT_SS_PARAM_FOCUS nie ulega zmianie, gdy zostanie zwrócona wartość SQL_ERROR.

Ustawienie SQL_SOPT_SS_PARAM_FOCUS 0 przywraca dostępu do rekordów deskryptora dla parametrów.

SQLSetStmtAttrmożna również zestaw SQL_SOPT_SS_NAME_SCOPE.Aby uzyskać więcej informacji zobacz sekcję SQL_SOPT_SS_NAME_SCOPE w dalszej części tego tematu.

Aby uzyskać więcej informacji, zobacz temat Oródwierszową metadane parametrów dla przygotowanych instrukcji.

Aby uzyskać więcej informacji o tabela-wyceniane parametrów, zobacz Parametry oródwierszową (ODBC).

SQLSetStmtAttr obsługa rozrzedzania kolumn

SQLSetStmtAttrmożna zestaw SQL_SOPT_SS_NAME_SCOPE.Aby uzyskać więcej informacji zobacz sekcję SQL_SOPT_SS_NAME_SCOPE w dalszej części tego tematu.Aby uzyskać więcej informacji o kolumnach sparse, zobacz Obsługa rozrzedzenia kolumn (ODBC).

Atrybuty instrukcji

SQL Server Sterownika ODBC Klient macierzysty obsługuje również atrybuty specyficzne dla sterownika instrukcja .

SQL_SOPT_SS_CURSOR_OPTIONS

SQL_SOPT_SS_CURSOR atrybut Określa, czy sterownik używa opcji wydajności specyficzne dla sterownika na kursory.Procedura SQLGetData nie jest dopuszczalna, gdy te opcje są zestaw.Ustawienie domyślne to SQL_CO_OFF.Te opcje są prawidłowe tylko wtedy, gdy jest podłączony do wystąpienie SQL Server wersja 7.0 lub nowszej.ValuePtr Jest wartością typu SQLLEN.

ValuePtr wartość

Opis

SQL_CO_OFF

Domyślny.Włącza kursorów wyłącza tylko szybkie przesyłanie dalej, tylko do odczytu i autofetch, Procedura SQLGetData na Kursory progresywne, tylko do odczytu.SQL_SOPT_SS_CURSOR_OPTIONS jest zestaw na SQL_CO_OFF, typ kursor nie ulegnie zmianie.Oznacza to, że tylko szybkie przesyłanie dalej kursor pozostanie tylko szybkie przesyłanie dalej kursor.Aby zmienić typ kursor , należy teraz zestaw typ różnych kursor za pomocą aplikacji SQLSetStmtAttr/ SQL_ATTR_CURSOR_TYPE.

SQL_CO_FFO

Umożliwia szybkie Kursory progresywne, tylko do odczytu, wyłącza Procedura SQLGetData na Kursory progresywne, tylko do odczytu.

SQL_CO_AF

Włącza opcję autofetch na dowolny typ kursor .Kiedy ta opcja jest zestaw dla dojścia instrukcja , SQLExecute lub SQLExecDirect wygeneruje niejawne SQLFetchScroll (SQL_FIRST).kursor jest otwarty i pierwsza partia wierszy jest zwracany w pojedynczym roundtrip do serwera.

SQL_CO_FFO_AF

Umożliwia szybkie Kursory progresywne z opcją autofetch.Jest taki sam, jakby SQL_CO_AF i SQL_CO_FFO są określone.

Jeśli te opcje są zestaw, serwer zamyka kursor automatycznie, gdy wykryje, że ostatni wiersz zostały pobrane.Aplikacja musi nadal wywołać SQLFreeStmt (SQL_CLOSE) lub SQLCloseCursor, ale sterownik nie ma wysyłać Zamknij powiadomienie do serwera.

Jeśli lista wyboru zawiera tekst, ntextlub obraz kolumnatylko szybkie przesyłanie dalej kursor jest konwertowany na dynamiczne kursor i Procedura SQLGetData jest dozwolona.

SQL_SOPT_SS_DEFER_PREPARE

SQL_SOPT_SS_DEFER_PREPARE atrybut Określa, czy instrukcja jest przygotowany bezpośrednio lub odroczone do czasu SQLExecute, SQLDescribeCol lub SQLDescribeParam jest wykonywany.W SQL Server 7.0 i wcześniejszych, ta właściwość jest ignorowana (nr odroczone przygotować).ValuePtr Jest wartością typu SQLLEN.

ValuePtr wartość

Opis

SQL_DP_ON

Domyślny.Po wywołaniu SQLPrepare, do przygotowania instrukcja jest odroczone do czasu SQLExecute nazywa się lub (operacji) metapropertySQLDescribeCol lub SQLDescribeParam) jest wykonywane.

SQL_DP_OFF

instrukcja jest przygotowana jak najszybciej Funkcję SQLPrepare jest wykonywany.

SQL_SOPT_SS_REGIONALIZE

SQL_SOPT_SS_REGIONALIZE atrybut jest używany do określenia konwersji danych napoziom instrukcja. atrybut powoduje, że sterownik do przestrzegania ustawieńustawienia regionalne klientpodczas konwersji data, czasi wartości walut ciągów znaków. Konwersja jest z SQL Server macierzyste typy danych tylko ciągów znaków.

ValuePtr Jest wartością typu SQLLEN.

ValuePtr wartość

Opis

SQL_RE_OFF

Domyślny.Sterownik nie dokonuje konwersji data, czasi waluty danych na dane ciąg znaków przy użyciu ustawieńustawienia regionalne klient.

SQL_RE_ON

Sterownik używa ustawieńustawienia regionalne klientpodczas konwersji data, czasi waluty danych dane ciąg znaków.

Ustawienia regionalne konwersji dotyczą Waluta, liczba, datai czas typów danych.Ustawienia konwersji dotyczy jedynie wyjściowe konwersje konwertowania wartości waluty, numeryczne, datalub czas na ciągi znaków.

Ostrzeżenie

Gdy opcja instrukcja SQL_SOPT_SS_REGIONALIZE jest włączony, sterownik używa ustawień ustawienia regionalne rejestru dla bieżącego użytkownika.Sterownik nie honoruje bieżącego wątek ustawienia regionalne , jeśli aplikacja ustawia go, na przykład wywołanie SetThreadLocale.

Zmienianie regionalnych zachowanie danych źródło może być przyczyną błędu aplikacji.Aplikacja, która analizuje ciągi data i oczekuje ciągów data pojawiają się zgodnie z definicją ODBC, mogłaby zostać poważnie naruszona przez zmianę tej wartości.

SQL_SOPT_SS_TEXTPTR_LOGGING

SQL_SOPT_SS_TEXTPTR_LOGGING atrybut Włącza lub wyłącza rejestrowanie operacji na kolumnach zawierających tekst lub obraz dane.Zachowanie domyślne jest rejestrowanie tych operacji (SQL_TL_ON).ValuePtr Jest wartością typu SQLLEN.

ValuePtr wartość

Opis

SQL_TL_OFF

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

SQL_TL_ON

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

SQL_SOPT_SS_HIDDEN_COLUMNS

SQL_SOPT_SS_HIDDEN_COLUMNS atrybut zestaw wyników, udostępnia kolumny ukryte w SQL Server Wybierz dla PRZEGLĄDANIA instrukcja.Sterownik nie ujawnia te kolumny domyślnie.ValuePtr Jest wartością typu SQLLEN.

ValuePtr wartość

Opis

SQL_HC_OFF

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

SQL_HC_ON

Udostępnia dla PRZEGLĄDANIA kolumny.

SQL_SOPT_SS_QUERYNOTIFICATION_MSGTEXT

SQL_SOPT_SS_QUERYNOTIFICATION_MSGTEXT atrybut zwraca tekst komunikatu żądania powiadomienie kwerendy.

SQL_SOPT_SS_QUERYNOTIFICATION_OPTIONS

SQL_SOPT_SS_QUERYNOTIFICATION_OPTIONS atrybut Określa opcje używane dla żądań powiadomienie kwerendy.Określono w ciąg z name=value składnię jak określono poniżej.Aplikacja jest odpowiedzialna za tworzenie usługa i odczytywania powiadomień z kolejki.

Składnia kwerendy powiadomień opcje ciąg jest:

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

Na przykład:

service=mySSBService;local database=mydb

SQL_SOPT_SS_QUERYNOTIFICATION_TIMEOUT

SQL_SOPT_SS_QUERYNOTIFICATION_TIMEOUT atrybut określa liczbę sekund, które pozostają aktywne kwerendy powiadomienie .Wartością domyślną jest 432000 sekund (5 dni).ValuePtr Jest wartością typu SQLLEN.

SQL_SOPT_SS_PARAM_FOCUS

SQL_SOPT_SS_PARAM_FOCUS atrybut określa fokus dla kolejnych SQLBindParameter, SQLGetDescField, SQLSetDescField, SQLGetDescRec, i SQLSetDescRec wywołań.

Typ SQL_SOPT_SS_PARAM_FOCUS jest SQLULEN.

Wartość domyślna to 0, co oznacza, że te wywołania parametry adresów, które odpowiadają znaczniki parametrów winstrukcja SQL. Podczas zestaw parametr liczba tabela-parametr wyceniane, te kolumny adres wywołania tej tabela-parametr wycenione.Gdy zestaw na wartość, która nie jest liczbą parametr tabela-wyceniane parametr te wywołania zwracają błąd IM020: "Zespół parametr odwołuje się do tabela-wyceniane parametr".

SQL_SOPT_SS_NAME_SCOPE

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

Typ SQL_SOPT_SS_NAME_SCOPE jest SQLULEN.

ValuePtr wartość

Opis

SQL_SS_NAME_SCOPE_TABLE

Domyślny.

Podczas korzystania z tabela-wartości parametrów, wskazuje na rzeczywiste tabele powinny być zwrócone metadane .

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

SQL_SS_NAME_SCOPE_TABLE_TYPE

Wskazuje, że aplikacja wymaga metadane dla tabela , a nie rzeczywiste tabela (wykaz powinien zwracają metadane dla typów tabela ).Następnie aplikacja przekazuje TYPE_NAME tabela-parametr wyceniane jako TableName parametru.

SQL_SS_NAME_SCOPE_EXTENDED

Podczas korzystania z funkcji sparse kolumn SQLColumns zwraca wszystkie kolumny, niezależnie od column_set członkostwa.

SQL_SS_NAME_SCOPE_SPARSE_COLUMN_SET

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

SQL_SS_NAME_SCOPE_DEFAULT

Równy SQL_SS_NAME_SCOPE_TABLE.

SS_TYPE_CATALOG_NAME i SS_TYPE_SCHEMA_NAME są używane z CatalogName i SchemaName Parametry, odpowiednio, do identyfikowania wykazu i schemat tabela-wyceniana parametr.Gdy aplikacja zakończy pobierania metadane dla tabela-wartości parametrów, należy zestaw SQL_SOPT_SS_NAME_SCOPE z powrotem na wartość domyślną SQL_SS_NAME_SCOPE_TABLE.

Gdy SQL_SOPT_SS_NAME_SCOPE jest zestaw na SQL_SS_NAME_SCOPE_TABLE, nie działać kwerendy do serwerów połączonych.Wzywa do SQLColumns lub SQLPrimaryKeys z wykazu, który zawiera składnik serwera będzie zakończą się niepowodzeniem.

Próba zestaw SQL_SOPT_SS_NAME_SCOPE na nieprawidłową wartość zwracana jest wartość SQL_ERROR i diagnostycznych rekord jest generowana z SQLSTATE HY024 i komunikat "nieprawidłowy atrybut -wartość".

Jeśli katalog funkcja innych następnie SQLTables, SQLColumns, lub SQLPrimaryKeys jest wywoływane, gdy SQL_SOPT_SS_NAME_SCOPE ma wartość innych niż zwracana jest wartość SQL_ERROR, SQL_SS_NAME_SCOPE_TABLE.Diagnostyczne rekord jest generowana z SQLSTATE HY010 i komunikat "Błąd sekwencji funkcji" (SQL_SOPT_SS_NAME_SCOPE nie jest zestaw na SQL_SS_NAME_SCOPE_TABLE).