- 论坛徽章:
- 0
|
C#
using System;using System.Collections.Generic;using System.Linq;using System.Text;using cwbx;using System.Data.Odbc;namespace as400testconsole{class QRCVDTAQ{ static void Main(string[] args) { string connectionStringODBC = "Driver={Client Access ODBC Driver (32-bit)};System=XXXXX;UID=DPSGIT;PWD=abcd1234;"; GetQueuesCWBX(connectionStringODBC); Console.ReadLine(); } private static void GetQueuesCWBX(string connectionString) { string result = String.Empty; cwbx.StringConverter stringConverter = new cwbx.StringConverter(); cwbx.PackedConverter packedConverter = new cwbx.PackedConverter(); //Define an AS400 system and connect to it AS400System system = new AS400System(); system.Define("XXXXX"); system.UserID = "XXXXX"; system.Password = "abcd1234"; system.IPAddress = "10.144.151.205"; system.Connect(cwbcoServiceEnum.cwbcoServiceDataQueues); if (system.IsConnected(cwbcoServiceEnum.cwbcoServiceDataQueues) == 1) { cwbx.Program program = new cwbx.Program(); program.LibraryName = "XXXXXXXX"; program.ProgramName = "TEST9100CY"; program.system = system; cwbx.DataQueue dq = new cwbx.DataQueue(); dq.system = system; dq.LibraryName = "XXXXXXXX"; dq.QueueName = "DQKEY1"; string dqname = "DQKEY1"; string lib = "XXXXXXXX"; string len = "X'01024F'"; string data = ""; string wait = "X'00005F'"; string order = "EQ"; string keylen = "20"; string key = "00110736"; string sendlen = "0"; string send = ""; string strSQL = "CALL XXXXXXXX.TEST9100CY ('DQKEY1','XXXXXXXX','DATA','00110736')"; //Create a collection of parameters associated with the program ProgramParameters parameters = new ProgramParameters(); parameters.Append("DTAQ", cwbrcParameterTypeEnum.cwbrcInput, 10); parameters.Append("LIB", cwbrcParameterTypeEnum.cwbrcInput, 10); parameters.Append("MSGDTA", cwbrcParameterTypeEnum.cwbrcOutput, 1024); parameters.Append("KEYS", cwbrcParameterTypeEnum.cwbrcInout, 8); parameters["DTAQ"].Value = stringConverter.ToBytes(dqname.PadRight(10, ' ')); parameters["LIB"].Value = stringConverter.ToBytes(lib.PadRight(10, ' ')); packedConverter.Digits = 5; packedConverter.DecimalPosition = 0; packedConverter.Digits = 3; packedConverter.DecimalPosition = 0; parameters["KEYS"].Value = stringConverter.ToBytes(key.PadRight(20, ' ')); //Finally call the program try { program.Call(parameters); result = stringConverter.FromBytes(parameters["MSGDTA"].Value); Console.WriteLine(result); Console.WriteLine(result); } catch (Exception ex) { if (system.Errors.Count > 0) { foreach (cwbx.Error error in system.Errors) { //Console.WriteLine(error.Text); result = error.Text; } } if (program.Errors.Count > 0) { foreach (cwbx.Error error in program.Errors) { //Console.WriteLine(error.Text); result += error.Text + "\r\n"; } } Console.WriteLine(result); Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace); } } } } }
|
|