![]() |
#1 |
Участник
|
Не работает COM container параметр
Создал процедуру на SQL сервере, подключение к Аxапта есть. Но не хочет вызывать метод с контеинером на одном сервере. На сервере разработку всё работает нормально , но на тестовом ни хечет - пишит сообщение:
Ошибка при вызове метода, неравильный аргумент. Сделал контеинер как надо, запихал даты, даже проверил их методо Peek ... всё нормально возврасщает... Пробовал перекомпилить аxапту (шорткатом из меню), не помогает ![]() Делал shutdown COM интерфейсу. Больше я ничего не могу придумать ... Спасибо!! |
|
![]() |
#2 |
Участник
|
Покажите пожалуйста код процедуры
|
|
![]() |
#3 |
Участник
|
Код: DECLARE @axapta int DECLARE @axContainer int DECLARE @axContainerIn int EXEC @hr = sp_OAMethod @axContainerIn, 'Append', null, @p1, @p2, @p3 IF @hr <> 0 BEGIN RETURN 10 END EXEC @hr = sp_OAMethod @axContainerIn, 'Append', null, @p4, @p5, @p6, @p7 IF @hr <> 0 BEGIN RETURN 10 END -------------------------------------------------------------------------------------------- -- Call static method EXEC @hr = sp_OAMethod @axapta, 'CallStaticRecordMethod', @axContainer OUT, 'my_table', 'do_smth_con', @axContainerIn IF @hr <> 0 BEGIN EXEC sp_OAGetErrorInfo @axapta, @src OUT, @desc OUT print 'Call Error: ' + @src + ', ' + @desc RETURN 10 END X++: server static container do_smth_con(container _conData) { str a; date b; real c; str d; str e; str f; date g; ; [a, b, c, d, e, f, g] = _conData; .... } Последний раз редактировалось Delfins; 13.03.2007 в 11:38. |
|
![]() |
#4 |
Участник
|
Что-то у меня и не работает ParamList:
Код: EXEC @hr = sp_OACreate 'AxaptaCOMConnector.AxaptaParameterList', @parmList OUT IF @hr <> 0 BEGIN RETURN 1 END EXEC @hr = sp_OAMethod @parmList, 'put_Size', null, 7 IF @hr <> 0 BEGIN EXEC sp_OAGetErrorInfo @axapta, @src OUT, @desc OUT print 'Call Error: ' + @src + ', ' + @desc RETURN 11 END ============ Код: EXEC @hr = sp_OAMethod @parmList, 'Element(1)', null, 'aaa' IF @hr <> 0 BEGIN EXEC sp_OAGetErrorInfo @axapta, @src OUT, @desc OUT print 'Call Error: ' + @src + ', ' + @desc RETURN 12 END |
|
![]() |
#5 |
Участник
|
Я вообще посмотрел в COM+ интерфейсы, там IAxaptaParameterList содержит только 4 метода - Element, Element, Size, Size (не знаю чем отличаются) ... таких, какие были узказаны в доке нету вообще... !!!
Когда вызываю Size(): Does not support collection Elements(): принимает только один параметр, пихаю туда любой тип, говорит "Type mismatch" Какая то фигня ... Контейнеры не работают, парам-лист тоже не фурычит, в 4.0 .NET вообще эти интерфейсы "казнены" ![]() ПС: у меня "Axapta 3.0 SP4 East Europe" |
|
![]() |
#6 |
Участник
|
Поставили "SQL 2000 - SP4" и всё само собой заработало (контейнер как параметр) ...странно!
Последний раз редактировалось Delfins; 13.03.2007 в 17:52. |
|