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 расширенной хранимой процедуры).<
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-интерфейс расширенных хранимых процедур)