Udostępnij za pośrednictwem


SQLPutData

Podczas używania, obowiązują następujące ograniczenia SQLPutData Aby wysłać więcej niż 65 535 bajtów danych (w przypadku SQL Server wersja 4.21a) lub 400 KB danych (w przypadku programu SQL Server w wersji 6.0 i nowsze) (SQL_LONGVARCHARtext), SQL_WLONGVARCHAR ()ntext) lub () SQL_LONGVARBINARYimage) kolumna:

  • Parametr wskazane może być insert_value za pomocą instrukcja INSERT.

  • Parametr wskazane może być expression w klauzula zestaw instrukcja UPDATE.

Anulowanie sekwencji SQLPutData wywołania, które dostarczają danych w blokach do serwera z systemem SQL Server powoduje, że częściowe aktualizacji wartości kolumna podczas korzystania z wersja 6.5 lub starszej. The text, ntext, or image kolumna that was referenced when SQLCancel was called is zestaw to an intermediate placeholder value.

Uwaga

The SQL Server Native klient ODBC driver does not support connecting to SQL Server wersja 6.5 and earlier.

Narzędzia diagnostyczne

Jest ono SQL Server Macierzystym określonego SQLSTATE dla klient SQLPutData:

SQLSTATE

Błąd

Description

22026

Ciąg ciągowe, niedopasowanie długości

Jeśli długość danych w bajtach, które mają być wysyłane określone przez aplikację, na przykład z SQL_LEN_DATA_AT_EXEC)n) w przypadku gdy n jest większa niż 0 i całkowita liczba bajtów przez aplikację za pomocą SQLPutData musi być zgodna określony czas.

SQLPutData i parametry Valued tabela

SQLPutData jest używane przez aplikacje, korzystając z wiązanie zmiennych wiersza z parametrami wycenione tabela.The StrLen_Or_Ind parameter indicates that it is ready for the driver to collect data for the next row or rows of tabela-valued parameter data, or that no more rows are available:

  • Wartość większą niż 0 wskazuje, że następny zbiór wartości wiersza jest dostępna.

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

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

The DataPtr parameter is ignored, but must be zestaw to a non-NULL value. Aby uzyskać więcej informacji zobacz sekcję w powiązaniu wiersza TVP zmiennych w wiązanie danych i Transfer Valued tabela parametrów i wartości kolumna.

Jeśli StrLen_Or_Ind ma wartość inną niż SQL_DEFAULT_PARAM lub liczbę z zakresu od 0 do SQL_PARAMSET_SIZE (to znaczy ColumnSize Parametr SQLBindParameter), występuje błąd. Błąd ten powoduje, że SQLPutData zwrócić SQL_ERROR: SQLSTATE = HY090, "Nieprawidłowa długość ciąg lub buforu".

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

Obsługa SQLPutData Data rozszerzony i czas funkcje

Wartości parametru typu Data/godzina są konwertowane zgodnie z opisem w Konwersje od C do programu SQL.

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

Obsługa SQLPutData duże UDTs CLR

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

Historia zmian

Microsoft Learning

Dodano informacje o SQLSTATE 22026.