12.03.2007, 17:21 | #1 |
Участник
|
Не работает COM container параметр
Создал процедуру на SQL сервере, подключение к Аxапта есть. Но не хочет вызывать метод с контеинером на одном сервере. На сервере разработку всё работает нормально , но на тестовом ни хечет - пишит сообщение:
Ошибка при вызове метода, неравильный аргумент. Сделал контеинер как надо, запихал даты, даже проверил их методо Peek ... всё нормально возврасщает... Пробовал перекомпилить аxапту (шорткатом из меню), не помогает Делал shutdown COM интерфейсу. Больше я ничего не могу придумать ... Спасибо!! |
|
12.03.2007, 19:41 | #2 |
Участник
|
Покажите пожалуйста код процедуры
|
|
12.03.2007, 19:59 | #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. |
|
13.03.2007, 12:54 | #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 |
|
13.03.2007, 14:32 | #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" |
|
13.03.2007, 17:49 | #6 |
Участник
|
Поставили "SQL 2000 - SP4" и всё само собой заработало (контейнер как параметр) ...странно!
Последний раз редактировалось Delfins; 13.03.2007 в 17:52. |
|