Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как вернуть bigint из расширенной процедуры?  [new]
RTy
Guest
Как в расширенной процедуре вернуть значение переменной __int64 в виде bigint?
23 июн 03, 13:51    [238648]     Ответить | Цитировать Сообщить модератору
 Re: Как вернуть bigint из расширенной процедуры?  [new]
snake
Member

Откуда: Russia, Penza
Сообщений: 2290
если описываете параметр bigint, внутрь он попадает SRVNUMERICN
(#define SRV_TDS_NUMERICN (BYTE) 0x6c).
похоже напрямую ODS не держит bigint - нет такого типа SRVBIGINT.
(IMHO, похоже на какое-то ограничение TDS)
А что, -10^38 +1 through 10^38 –1. p мало?
23 июн 03, 14:57    [238771]     Ответить | Цитировать Сообщить модератору
 Re: Как вернуть bigint из расширенной процедуры?  [new]
ziktuw
Member

Откуда:
Сообщений: 3552
В srv_paraminfo надо указать тип SRVINT8, а остальное ничем не отличается от возврата параметров любого другого типа.
23 июн 03, 14:59    [238781]     Ответить | Цитировать Сообщить модератору
 Re: Как вернуть bigint из расширенной процедуры?  [new]
snake
Member

Откуда: Russia, Penza
Сообщений: 2290
2Dankov
SRVFLT8 есть, SRVINT8 не нашел, точно есть???
23 июн 03, 15:05    [238794]     Ответить | Цитировать Сообщить модератору
 Re: Как вернуть bigint из расширенной процедуры?  [new]
snake
Member

Откуда: Russia, Penza
Сообщений: 2290
2Dankov
SRVFLT8 есть, SRVINT8 не нашел, точно есть???
23 июн 03, 15:06    [238795]     Ответить | Цитировать Сообщить модератору
 Re: Как вернуть bigint из расширенной процедуры?  [new]
RTy
Guest
Всем большое спасибо!
23 июн 03, 15:06    [238796]     Ответить | Цитировать Сообщить модератору
 Re: Как вернуть bigint из расширенной процедуры?  [new]
ziktuw
Member

Откуда:
Сообщений: 3552
Точно есть, но не во всех srv.h :-(

Вот доп. инфо:

#define SRV_TDS_INT8 (BYTE) 0x7f
#define SRVINT8 SRV_TDS_INT8
23 июн 03, 15:11    [238806]     Ответить | Цитировать Сообщить модератору
 Re: Как вернуть bigint из расширенной процедуры?  [new]
snake
Member

Откуда: Russia, Penza
Сообщений: 2290
Я вообще думаю разницы (IMHO) нет, что SRVFLT8, что SRVINT8(если такой вообще есть)
передать то нужно 8 байт.
23 июн 03, 15:18    [238827]     Ответить | Цитировать Сообщить модератору
 Re: Как вернуть bigint из расширенной процедуры?  [new]
RTy
Guest
А ты уверен, что если просто передать 8 байт, которые являются двоичным представление __int64, а потом на них посмотреть в скуле как на bigint, то получится верный результат? Проверили - не получается
23 июн 03, 15:38    [238871]     Ответить | Цитировать Сообщить модератору
 Re: Как вернуть bigint из расширенной процедуры?  [new]
snake
Member

Откуда: Russia, Penza
Сообщений: 2290
я же написал - IMHO.
Не получилось - читай пост от: Дата: сегодня, 14:57
23 июн 03, 15:40    [238875]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить