无法从.NET更新unidata

时间:2015-03-16 16:05:54

标签: unidata u2netdk

在过去的几天里,我一直在尝试使用示例代码作为基础更新unidata,但没有成功。我可以成功读取数据库并在visual studio中查看原始数据。报告的错误是超出范围的错误。该计划正在尝试更新采购订单的单价。

错误: {“套接字接收错误。索引超出了array.POD的范围”}     [IBMU2.UODOTNET.UniFileException]:{“套接字接收错误。索引超出了array.POD的范围”}     数据:{System.Collections.ListDictionaryInternal}     HelpLink:null     HResult:-2146232832     InnerException:null     消息:“套接字接收错误。索引超出了array.POD的范围”     资料来源:“UniFile Class”     StackTrace:“在IBMU2.UODOTNET.UniFile.Write()\ r \ n在IBMU2.UODOTNET.UniFile.Write(String aRecordID,UniDynArray aRecordData)\ r \ n在ReadXlsToUnix.Form1.TestUpdate(String PO_LINE_SHIP,String price)in c:\ Users \ xxx \ Documents \ Visual Studio 2013 \ Projects \ 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 任何帮助非常感谢。 这是写记录版本,并且还尝试了具有相同错误的writefield功能。

Rajan - 感谢您的更新和链接。我尝试使用U2 Toolkit读取/更新我的unidata表失败了。但是,我可以读取/更新我在同一帐户中创建的文件。这是否意味着在某些地方缺少VOC,例如DICT。

0 个答案:

没有答案