1 Вопрос: Выполнение команды PGM с использованием провайдера idb2 .NET

вопрос создан в Wed, May 8, 2019 12:00 AM

Я пытаюсь выполнить PGM (IBM-Iseries) с использованием провайдера IBMDB2 .NET. Но у меня всегда возникают проблемы.

Я пытался использовать поставщик ADO.NET (COM-объект) и некоторые другие способы, но я не смог выполнить PGM в i-серии. Я не уверен, возможно ли выполнить PGM напрямую, используя поставщика IBMDB2 .NET и поставщиков ADO.

iDB2Connection icon = new iDB2Connection(strConnect);
                    iDB2Command command = icon.CreateCommand();
                    icon.Open();
                    command.CommandText = ($"CALL PGM(ABC/XYZ)PARM('1ASB         ''000013644')");

                    command.ExecuteNonQuery();
    
1
  1. Что за вопрос?
    2019-05-10 00: 41: 14Z
  2. Вы также можете использовать XMLSERVICE, который имеет различные клиентские интерфейсы, включая .NET. У меня нет личного опыта работы с .NET, но я уверен, что поиск в Google что-нибудь изменит. Еще более полезным было бы присоединение к спискам рассылки среднего уровня и /или сообщество IBMiOSS на Ryver и спрашиваю там.
    2019-05-13 13: 47: 56Z
1 ответ                              1                         

Вы можете вызвать процедуру QCMDEXEC из SQL, однако кавычки для паролей сложны для понимания.
"Между начальной кавычкой и конечной кавычкой две кавычки в строке приводят к одной кавычке в строке" .   Я бы посоветовал вам заставить его работать, вызывая простую программу без пармов.

CALL QSYS2.QCMDEXC('CALL PGM(ABC/XYZ)PARM(''1ASB         '' ''000013644'')')

/* строка call gpm (abc /zyc) parm ('1ASB' '00013544')

    
1
2019-05-10 20: 23: 43Z
источник размещен Вот