srv_describe (API-интерфейс расширенных хранимых процедур)

Применимо к:SQL Server

Внимание

Эта функция будет удалена в будущей версии SQL Server. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется. Пользуйтесь вместо этого интеграцией со средой CLR.

Задает имя столбца, исходный и целевой типы данных для конкретного столбца в строке.

Синтаксис

  
int srv_describe (  
SRV_PROC *  
srvproc  
,  
int  
colnumber  
,  
DBCHAR *  
column_name  
,  
int  
namelen  
,  
DBINT  
desttype  
,  
DBINT  
destlen  
,  
DBINT  
srctype  
,  
DBINT  
srclen  
,  
void *  
srcdata  
);  

Аргументы

srvproc
Указатель на структуру SRV_PROC, который представляет собой дескриптор для конкретного клиентского соединения (в данном случае подразумевается клиент, который отправил строку). В этой структуре содержатся все сведения, которые библиотека API-интерфейса расширенных хранимых процедур использует для управления обменом данными между приложением и клиентом.

colnumber
Не поддерживается в текущей версии. Столбцы должны быть описаны по порядку. Все столбцы должны быть описаны до вызова srv_sendrow.

column_name
Задает имя столбца, к которому принадлежат данные. Этот параметр может иметь значение NULL, поскольку столбец не обязательно должен иметь имя.

namelen
Задает длину column_name в байтах. Если значение аргумента namelen равно SRV_NULLTERM, то значение аргумента column_name должно оканчиваться нулевым символом.

desttype
Задает тип данных столбца строки назначения. Это — тип данных, передаваемых клиенту. Тип данных должен быть указан, даже если данные равно NULL, дополнительные сведения см. в разделе "Типы данных" (API расширенной хранимой процедуры).</a0>

destlen
Задает длину данных (в байтах), которые должны быть переданы клиенту. Для типов данных фиксированной длины, не допускающих значений NULL, параметр destlen не учитывается. Для типов данных с переменной длиной и типов данных с фиксированной длиной, поддерживающих значения NULL, параметр destlen задает максимальную длину целевых данных.

srctype
Задает тип исходных данных.

srclen
Задает длину исходных данных в байтах. Для типов данных с фиксированной длиной это значение не учитывается.

srcdata
Предоставляет адрес исходных данных для конкретного столбца. Функция srv_sendrow после вызова ищет данные для параметра colnumber в параметре srcdata. Следовательно, этот параметр нельзя освобождать до вызова функции srv_sendrow. Адрес исходных данных можно изменить между вызовами функции srv_sendrow с помощью вызова функции srv_setcoldata. Память, выделенная для srcdata, не должна освобождаться до замены данных столбца с помощью еще одного вызова метода srv_setcoldata или srv_senddone.

Если значение параметра desttype равно SRVDECIMAL или SRVNUMERIC, параметр srcdata должен быть указателем на структуру типа DBNUMERIC или DBDECIMAL, в которой полям точности и масштаба уже присвоены требуемые значения. Параметр DEFAULTPRECISION позволяет задать точность по умолчанию, а параметр DEFAULTSCALE — масштаб по умолчанию.

Возвраты

Порядковый номер описываемого столбца. Первый столбец имеет номер 1. При возникновении ошибки возвращается 0.

Замечания

Функция srv_describe должна быть вызвана по одному разу для каждого столбца данной строки перед первым вызовом функции srv_sendrow. Столбцы в строке могут быть описаны в любом порядке.

Для изменения местонахождения и длины исходных данных в строках столбцов до передачи полного результирующего набора можно использовать функции srv_setcoldata и srv_setcollen, соответственно.

Описание типов данных и преобразования типов данных API процедур расширенного хранилища см. в разделе "Типы данных" (API расширенных хранимых процедур)".

Если имя столбца в приложении задано в Юникоде, то перед вызовом функции srv_describe его нужно перевести в многобайтовую кодировку, заданную на сервере. Дополнительные сведения см. в статье Данные в Юникоде и кодовые страницы сервера.

Внимание

Необходимо тщательно просмотреть исходный код расширенных хранимых процедур и проверить скомпилированные библиотеки DLL перед их установкой на рабочий сервер. Сведения о проверке безопасности см. на следующем веб-сайте Майкрософт.

См. также

srv_sendrow (API-интерфейс расширенных хранимых процедур)
srv_setutype (API-интерфейс расширенных хранимых процедур)
srv_setcoldata (API-интерфейс расширенных хранимых процедур)