3 Replies Latest reply on Aug 12, 2015 12:41 PM by dng

    Delete data from Archive

    jainc_paresh

      Hello Team,

       

      I am having datalink report which is calculating number of hours unit in service for a day and cumulative value between unit initial start till today. But, due to some know and unknown reason I/O Timeout and Configure values are archived in PI Database. This is returning wrong value for daily and cumulative report, this report is critical report for customer so that want exact running hours.

       

      Hence, I have written a stand alone code in ASP.NET which will deleted these values provided startdate and enddate. Below is the code snippet.

       

      string strConPI = "Data Source=Collectivename;Integrated Security=true;Initial Catalog=piarchive;Provider=PIOLEDB.1;Always Return Rowset=True";

       

      if (dt != null && dt.Rows.Count > 0)

                      {

                          foreach (DataRow dr in dt.Rows)

                          {

                              strCmd = "Delete From [piarchive].[picomp2] "

                                      + "Where ( status = -246 or status = -240 ) and tag = '" + dr["TagName"] + "' and time between '" + startdate Value + "' and '" + enddate.Value + "'";

                              using (OleDbConnection oledbCon = new OleDbConnection(strConPI))

                              {

                                  oledbCon.Open();

                                  OleDbCommand oledbCmd = new OleDbCommand(strCmd, oledbCon);

                                  int i = oledbCmd.ExecuteNonQuery();

                              }

                          }

                      }

       

      But, when I execute this code I am getting below error message. "Row deleting failed. [PI SDK] Write failed.  Unbuffered write would desynchronize archive data. CollectiveName"

       

      Please suggest.

       

      Thanks & Regards

      Paresh Jain