Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 ошибка в sp_OAMethod  [new]
sabitaidr
Member

Откуда:
Сообщений: 97
Добрый день! в sp_OAMethod вышла следующая ошибка: -2147012851. а что она означает нигде не могу найти. Нашел вот такую процедуру на technet.microsoft.com и она тоже что-то непонятное возвращает. Прошу помочь и подсказать в чем здесь ошибка и куда копать?
IF EXISTS(SELECT name FROM sys.objects
          WHERE name = N'dbo.sp_HexToChar')
    DROP PROCEDURE HexToChar;
GO
CREATE PROCEDURE dbo.sp_HexToChar
    @BinValue varbinary(255),
    @HexCharValue nvarchar(255) OUTPUT
AS
    DECLARE @CharValue nvarchar(255);
    DECLARE @Position int;
    DECLARE @Length int;
    DECLARE @HexString nchar(16);
    SELECT @CharValue = N'0x';
    SELECT @Position = 1;
    SELECT @Length = DATALENGTH(@BinValue);
    SELECT @HexString = N'0123456789ABCDEF';
    WHILE (@Position <= @Length)
    BEGIN
        DECLARE @TempInt int;
        DECLARE @FirstInt int;
        DECLARE @SecondInt int;
        SELECT @TempInt = CONVERT(int, SUBSTRING(@BinValue,@Position,1));
        SELECT @FirstInt = FLOOR(@TempInt/16);
        SELECT @SecondInt = @TempInt - (@FirstInt*16);
        SELECT @CharValue = @CharValue +
            SUBSTRING(@HexString, @FirstInt+1, 1) +
            SUBSTRING(@HexString, @SecondInt+1, 1);
        SELECT @Position = @Position + 1;
    END
    SELECT @HexCharValue = @CharValue;
GO
DECLARE @BinVariable varbinary(35);
DECLARE @CharValue nvarchar(35);

SET @BinVariable = -2147012851;

EXECUTE dbo.sp_HexToChar
    @binvalue = @BinVariable,
    @HexCharValue = @CharValue OUTPUT;

SELECT @BinVariable AS BinaryValue,
    @CharValue AS CharacterRep;
GO

BinaryValue CharacterRep
0x80072F0D 0x80072F0D
13 мар 15, 14:57    [17380983]     Ответить | Цитировать Сообщить модератору
 Re: ошибка в sp_OAMethod  [new]
sp_OAMethod
Guest
sabitaidr,

какого метода, какого объекта, с какими параметрами вызов ?

сервер тут какбэ "не при делах", в плане возвращаемого значения, - это то, что вернул "сервер автоматизации", используемый COM-объект
https://msdn.microsoft.com/ru-ru/library/ms174984.aspx
Значения кода возврата
0 (успешное завершение) или число, отличное от нуля (неуспешное завершение), являющееся целочисленным значением HRESULT, возвращенным объектом OLE-автоматизации
13 мар 15, 15:32    [17381321]     Ответить | Цитировать Сообщить модератору
 Re: ошибка в sp_OAMethod  [new]
sabitaidr
Member

Откуда:
Сообщений: 97
sp_OAMethod,

если честно, с этим методом столкнулся сегодня впервые, и то, что sp_OAMethod возвращает 0 при успешном завершении, я прочитал, и у меня как раз вышла вот эта ошибка при таком запросе
exec @rc=sp_OAMethod @objHTTP,'Send',null,@ReqBody 
select @rc as 'send'

и вот как раз вышло @rc=-2147012851
может подскажите хотя бы как диагностировать эти ошибки, куда копать нужно?
13 мар 15, 16:18    [17381646]     Ответить | Цитировать Сообщить модератору
 Re: ошибка в sp_OAMethod  [new]
Glory
Member

Откуда:
Сообщений: 104760
sabitaidr
Нашел вот такую процедуру на technet.microsoft.com и она тоже что-то непонятное возвращает.

Целочисленный код ошибки переведенный в последовательность символов не может представлять что-нибудь понятное.
Для получения информации об ошибке ввобщето используют sp_OAGetErrorInfo
13 мар 15, 16:34    [17381766]     Ответить | Цитировать Сообщить модератору
 Re: ошибка в sp_OAMethod  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8316
sabitaidr,

читайте справку, в ней всё, что нужно подробно изложено.
13 мар 15, 17:08    [17382026]     Ответить | Цитировать Сообщить модератору
 Re: ошибка в sp_OAMethod  [new]
sabitaidr
Member

Откуда:
Сообщений: 97
Glory,
можете пояснить тогда, а то я не совсем понял, для чего вот здесь [url=]https://technet.microsoft.com/ru-ru/library/ms189556.aspx[/url] переводят тип int в binary? и скажите пожалуйста, диагностировать ошибку нужно таким образом: сразу после выполения sp_OAMethod запускать sp_OAGetErrorInfo? что-то типа такого:
exec @rc=sp_OAMethod @objHTTP,'Send',null,@ReqBody 
select @rc as 'send'
exec sp_OAGetErrorInfo ...
13 мар 15, 17:21    [17382155]     Ответить | Цитировать Сообщить модератору
 Re: ошибка в sp_OAMethod  [new]
Glory
Member

Откуда:
Сообщений: 104760
sabitaidr
скажите пожалуйста, диагностировать ошибку нужно таким образом: сразу после выполения sp_OAMethod запускать sp_OAGetErrorInfo? что-то типа такого:

В вашей же ссылке есть пример
13 мар 15, 17:30    [17382220]     Ответить | Цитировать Сообщить модератору
 Re: ошибка в sp_OAMethod  [new]
sabitaidr
Member

Откуда:
Сообщений: 97
Glory,

да, увидел, извините, я расвчитывал увидеть таблицу обозначений.
14 мар 15, 06:55    [17383611]     Ответить | Цитировать Сообщить модератору
 Re: ошибка в sp_OAMethod  [new]
sabitaidr
Member

Откуда:
Сообщений: 97
Glory,
подумал, что есть таблица обозначений битовых ошибок
14 мар 15, 07:02    [17383613]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить