Невозможно обновить unidata из.NET

Последние пару дней я пытался обновить unidata, используя пример кода в качестве основы, используя.NET, но безуспешно. Я могу успешно читать базу данных и просматривать необработанные данные в Visual Studio. Ошибка, о которой сообщают, является ошибкой вне диапазона. Программа пытается обновить цену за единицу заказа на покупку.

Ошибка: {"Ошибка при получении через сокет. Индекс находился за пределами массива.POD"} [IBMU2.UODOTNET.UniFileException]: {"Ошибка при получении через сокет. Индекс находился за пределами массива. ПОД"} Данные: {System.Collections.ListDictionaryInternal} HelpLink: null HResult: -2146232832 InnerException: null Сообщение: "Ошибка при получении через сокет. Индекс находится за пределами массива. POD" Источник: "Класс UniFile" StackTrace: "в IBMU2.UODOTNET.UniFile.Write()\r\n в IBMU2.UODOTNET.UniFile.Write(String aRecordID, UniDynArray aRecordData)\r\n в ReadXlsToUnix.Form1.TestUpdate(Строка PO_LINE_SHIP, Строковая цена) в c:\ Documents\x \Visual Studio 2013\ Проекты \ReadXlsToUnix\ReadXlsToUnix\Form1.cs: строка 330" TargetSite: {Void Write()}

Тестовый код неисправности:

private void TestUpdate(string PO_LINE_SHIP,string price)
 { 
        UniFile      pod =null;
        UniSession uniSession   =null;
        //connection string
        uniSession = UniObjects.OpenSession("unixMachine", "userid", Properties.Settings.Default.PWD, "TRAIN", "udcs");
        //open file
        pod = uniSession.CreateUniFile("POD");
        //read data 
        pod.Read(PO_LINE_SHIP);
        //locking strategy
        pod.UniFileLockStrategy = 1;
        pod.UniFileReleaseStrategy = 1;
        if (pod.RecordID == ""){ 
           pod.UnlockRecord();
        }
        //replace existing value with one entered by user
        pod.Record.Replace(4, (string)uniSession.Iconv(price, "MD4"));
        try
        {
              pod.Write(pod.RecordID,pod.Record);   //RecordId and Record both show correctly hover/immediate window
              //pod.Write() fails with same message 

        }
        catch (Exception err)
        {
            MessageBox.Show("Error" + err);
        }
            pod.Close();
            UniObjects.CloseSession(uniSession);
        }
}

Запуск на HP UX 11.31 unidata 7.2 и использование UODOTNET.dll 2.2.3.7377 Любая помощь с благодарностью. Это версия записи записи и также пробовали функциональность записи поля с той же ошибкой.

Раджан - спасибо за обновление и ссылку. Я безуспешно пытался прочитать / обновить мои таблицы unidata с помощью U2 Toolkit. Однако я могу читать / обновлять файл, созданный мной в той же учетной записи. Означает ли это, что где-то отсутствует VOC, например, DICT?

0 ответов

Другие вопросы по тегам