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).
Zobacz także