2019年12月16日 星期一

[DB][ORACLE]當資料長度>欄位長度時

雖然這是一個很笨的方法
但是還是很好用

  private void test()
        {
            sb.Append(" SELECT  DATA_LENGTH  FROM  ALL_TAB_COLUMNS C ");
            sb.Append(" JOIN ALL_TABLES T ON  C.OWNER = T.OWNER AND C.TABLE_NAME = T.TABLE_NAME");
            sb.Append(" where C.OWNER = 'MAY' AND C.TABLE_NAME = 'AZF_FILE' and C.COLUMN_NAME='column_name' ORDER BY C.TABLE_NAME, C.COLUMN_ID ");

            Hashtable h = m2();

            ICollection key = h.Keys;

            foreach (string k in key)
            {
                confim(k.ToUpper(), h[k].ToString());
            }

        }

        private void confim(string key, string value)
        {

            int i = 0;
            try
            {
                Console.Write($" key={key} , value={value} ");
                using (OracleConnection conn = new OracleConnection(connStr))
                {
                    conn.Open();
                    using (OracleCommand cmd = conn.CreateCommand())
                    {


                        cmd.CommandText = sb.ToString().Replace("column_name", key);

                        OracleDataReader reder = cmd.ExecuteReader();

                        if (reder.Read())
                        {

                            int col_length = int.Parse(reder.GetValue(0).ToString());
                            int str_length = value.Length;

                            if (str_length > col_length)
                            {
                                Console.Write($" NG ");
                            }
                            else
                            {
                                Console.Write($" OK ");
                            }


                        }
                        reder.Close();

                    }
                }
                Console.WriteLine(";");

            }
            catch (Exception ex)
            {
                throw ex;
            }

        }

        private Hashtable Marger()
        {
            Hashtable h = new Hashtable();


            h.Add("ima01", "1173LI-F4015045B");
            h.Add("ima02", "EE INDUCTOR 1.5UH RDC=0.044OHM IRMS=4.0A 5.7*5.2*1 SMD");
            h.Add("ima021", "GSTM5012P-1R5M");
            h.Add("ima06", "1");
            h.Add("ima08", "P");
            h.Add("ima09", "");
            h.Add("ima10", "");
            h.Add("ima24", "Y");
            h.Add("ima25", "PCS");
            h.Add("ima131", "Y000");
            h.Add("ima133", "");
            h.Add("ta_ima02", "Z000");
            h.Add("ta_ima03", "V100");
            h.Add("ta_ima10", "NA");
            h.Add("ta_ima17", "01");
            h.Add("ta_ima24", "Y");
            h.Add("imaacti", "Y");
            h.Add("ima03", "");
            h.Add("ima04", "");
            h.Add("ima07", "A");
            h.Add("ima11", "");
            h.Add("ima12", "1");
            h.Add("ima14", "N");
            h.Add("ima15", "N");
            h.Add("ima17", "");
            h.Add("ima19", "");
            h.Add("ima21", "");
            h.Add("ima23", "");
            h.Add("ima27", "0");
            h.Add("ima28", "0");
            h.Add("ima34", "");
            h.Add("ima35", "A1");
            h.Add("ima36", "");
            h.Add("ima37", "2");
            h.Add("ima38", "");
            h.Add("ima39", "5112-07");
            h.Add("ima42", "");
            h.Add("ima43", "");
            h.Add("ima45", "1");
            h.Add("ima46", "0");
            h.Add("ima47", "0");
            h.Add("ima48", "0");
            h.Add("ima49", "0");
            h.Add("ima491", "0");
            h.Add("ima50", "0");
            h.Add("ima51", "0");
            h.Add("ima52", "0");
            h.Add("ima54", "");
            h.Add("ima56", "1");
            h.Add("ima561", "0");
            h.Add("ima562", "");
            h.Add("ima59", "");
            h.Add("ima60", "");
            h.Add("ima61", "");
            h.Add("ima62", "");
            h.Add("ima64", "1");
            h.Add("ima641", "");
            h.Add("ima65", "");
            h.Add("ima66", "");
            h.Add("ima67", "");
            h.Add("ima68", "");
            h.Add("ima69", "");
            h.Add("ima70", "N");
            h.Add("ima87", "");
            h.Add("ima871", "");
            h.Add("ima872", "");
            h.Add("ima873", "");
            h.Add("ima874", "");
            h.Add("ima88", "");
            h.Add("ima89", "");
            h.Add("ima90", "");
            h.Add("ima94", "");
            h.Add("ima99", "");
            h.Add("ima100", "N");
            h.Add("ima101", "1");
            h.Add("ima102", "1");
            h.Add("ima103", "1");
            h.Add("ima105", "N");
            h.Add("ima106", "");
            h.Add("ima107", "N");
            h.Add("ima108", "N");
            h.Add("ima109", "");
            h.Add("ima110", "1");
            h.Add("ima130", "1");
            h.Add("ima132", "5112-07");
            h.Add("ima134", "");
            h.Add("ima147", "N");
            h.Add("ima148", "");
            h.Add("ima903", "N");
            h.Add("ta_ima01", "N");
            h.Add("ima16", "99");
            h.Add("ima18", "0");
            h.Add("ima26", "0");
            h.Add("ima261", "0");
            h.Add("ima262", "0");
            h.Add("ima271", "0");
            h.Add("ima31", "PCS");
            h.Add("ima31_fac", "1");
            h.Add("ima32", "0");
            h.Add("ima33", "0");
            h.Add("ima40", "0");
            h.Add("ima41", "0");
            h.Add("ima44", "PCS");
            h.Add("ima44_fac", "1");
            h.Add("ima53", "0");
            h.Add("ima531", "0");
            h.Add("ima55", "PCS");
            h.Add("ima55_fac", "1");
            h.Add("ima57", "0");
            h.Add("ima58", "0");
            h.Add("ima63", "PCS");
            h.Add("ima63_fac", "1");
            h.Add("ima71", "9999");
            h.Add("ima72", "0");
            h.Add("ima86", "PCS");
            h.Add("ima86_fac", "1");
            h.Add("ima91", "0");
            h.Add("ima92", "N");
            h.Add("ima93", "NNNNNNNN");
            h.Add("ima95", "0");
            h.Add("ima77", "0");
            h.Add("ima78", "0");
            h.Add("ima80", "0");
            h.Add("ima81", "0");
            h.Add("ima82", "0");
            h.Add("ima83", "0");
            h.Add("ima84", "0");
            h.Add("ima85", "0");
            h.Add("ima852", "N");
            h.Add("ima853", "N");
            h.Add("ima96", "0");
            h.Add("ima97", "0");
            h.Add("ima98", "0");
            h.Add("ima104", "0");
            h.Add("ima121", "0");
            h.Add("ima122", "0");
            h.Add("ima123", "0");
            h.Add("ima124", "0");
            h.Add("ima125", "0");
            h.Add("ima126", "0");
            h.Add("ima127", "0");
            h.Add("ima128", "0");
            h.Add("ima129", "0");
            h.Add("ima139", "N");
            h.Add("ima140", "N");
            h.Add("ima141", "0");
            h.Add("ima905", "N");
            h.Add("imauser", "MIS");
            h.Add("imamodu", "MIS");
            h.Add("imagrup", "MIS");

            h.Add("ta_ima04", "N");
            h.Add("ta_ima05", "");
            h.Add("ta_ima06", "");
            h.Add("ta_ima07", "");
            h.Add("ta_ima08", "");
            h.Add("ta_ima12", "N");
            h.Add("ta_ima13", "N");
            h.Add("ta_ima23", "N");
            h.Add("ta_ima25", "N");
            h.Add("ima906", "Y");



            return h;
        }

        private Hashtable m2()
        {

            Hashtable h = new Hashtable();

            h.Add("AZF01", "1173LI-F4015045B");
            h.Add("AZFACTI", "Y");
            h.Add("AZFUSER", "MIS");

            h.Add("TA_AZF01", "EE INDUCTOR 1.5UH RDC=0.044OHM IRMS=4.0A 5.7*5.2*1 SMD");
            h.Add("TA_AZF02", "GSTM5012P-1R5M");
            h.Add("AZF02", "");


            return h;


        }

沒有留言:

張貼留言