Udostępnij za pośrednictwem


SQLPutData

Obowiązują następujące ograniczenia podczas korzystania z SQLPutData wysłać więcej niż 65 535 bajtów danych (dla SQL Server wersji 4.21a) lub 400 KB danych (dla programu SQL Server wersja 6.0 i nowsze) SQL_LONGVARCHAR (text), SQL_WLONGVARCHAR (ntext) lub SQL_LONGVARBINARY (image) kolumna:

  • Parametr odwołanie może być insert_value w instrukcja INSERT.

  • Parametr odwołanie może być expression w klauzula zestaw instrukcja UPDATE.

Anulowanie sekwencji SQLPutData wywołania, które dostarczają danych w blokach na serwerze z SQL Server powoduje częściowe aktualizacja wartości kolumna, używając wersja 6.5 lub starszej.text, ntext, Lub image kolumna, który był gdy odwołuje się do SQLCancel została wywołana jest zestaw do wartości pośrednie zastępczego.

Ostrzeżenie

SQL Server Sterownik ODBC macierzystym klienta nie obsługuje łączenie z SQL Server w wersja 6.5 lub starszej.

Diagnostyka

Istnieje SQL Server SQLSTATE określonych Native Client dla SQLPutData:

SQLSTATE

Błąd

Opis

22026

Ciąg danych, niedopasowanie długości

Jeśli określono długość danych w bajtach przesyłane przez aplikację, na przykład z SQL_LEN_DATA_AT_EXEC (n) gdzie n jest większa niż 0 i całkowita liczba bajtów przez aplikację za pośrednictwem SQLPutData musi odpowiadać określonej długości.

Parametry oródwierszową i SQLPutData

SQLPutData używany przez aplikację, używając zmiennej wiersza powiązania z tabela-wycenione parametrów.StrLen_Or_Ind Parametru wskazuje, że jest on gotowy do zbierania danych dla następnego wiersza lub wierszy sterownika tabela-parametr ważnych danych lub że nie ma więcej wierszy są dostępne:

  • Wartość większa niż 0 wskazuje, że następny zestaw rzędu wartości jest dostępna.

  • Wartość 0 wskazuje, że nie ma więcej wierszy do wysłania.

  • Każda wartość mniejszą niż 0 jest błąd i wyniki w rekordzie diagnostyczne rejestrowane z SQLState, HY090 i messaage "Nieprawidłowa długość ciąg lub buforu".

DataPtr Parametr jest ignorowany, ale musi być zestaw na wartość NIEZEROWĄ.Aby uzyskać więcej informacji, zobacz sekcję w wierszu zmiennej TVP powiązanie w Transferu powiązania i danych z wartościami przechowywanymi w tabeli parametry i wartości kolumn.

Jeśli StrLen_Or_Ind ma wartość inną niż SQL_DEFAULT_PARAM lub liczba między 0 i SQL_PARAMSET_SIZE (czyli ColumnSize parametr SQLBindParameter), jest błąd.Ten błąd powoduje SQLPutData zwraca wartość SQL_ERROR: SQLSTATE = HY090, "Nieprawidłowa długość ciąg lub buforu".

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

Obsługa SQLPutData Enhanced Data i czas funkcje

Wartości parametru data /czas typy są konwertowane zgodnie z opisem w Konwersje z C SQL.

Aby uzyskać więcej informacji, zobacz Data/Godzina ulepszenia (ODBC).

Obsługa dużych CLR UDTs SQLPutData

SQLPutData obsługuje duże CLR zdefiniowane przez użytkownika typów (UDTs).Aby uzyskać więcej informacji, zobacz Duże CLR typów zdefiniowanych przez użytkownika (ODBC).