コード例 #1
0
ファイル: BaleenQuery.cs プロジェクト: DoctorFreckles/Baleen
        public static DataTable GetDT(int depth, DBMeta meta, DataTable data)
        {
            string    dtTablePrefix = "depth_" + depth.ToString();
            DataTable dt            = new DataTable(dtTablePrefix + meta.FileName.Replace(".", "_"));

            dt.Columns.Add("FileType");
            dt.Columns.Add("DBName");
            dt.Columns.Add("FileName");
            dt.Columns.Add("LineNo");
            dt.Columns.Add("MatchScore");
            if (meta.fileType == FileType.csv)
            {
                string[] flds = meta.HeaderRecord.Split(',');
                foreach (string f in flds)
                {
                    dt.Columns.Add(f);
                }
                foreach (DataRow dr in data.Rows)
                {
                    if (dr["data_value"] == null)
                    {
                        continue;
                    }
                    string   dv  = dr["data_value"].ToString();
                    string[] dva = dv.Split(',');
                    DataRow  drt = dt.NewRow();
                    drt["FileType"]   = "CSV";
                    drt["DBName"]     = meta.DBName;
                    drt["FileName"]   = meta.FileName;
                    drt["LineNo"]     = dr["line_number"].ToString();
                    drt["MatchScore"] = dr["MatchScore"].ToString();
                    for (int i = 0; i < flds.Length; i++)
                    {
                        if (i >= dva.Length)
                        {
                            break;
                        }
                        drt[flds[i]] = dva[i];
                    }
                    dt.Rows.Add(drt);
                }
            }
            else if (meta.fileType == FileType.tab)
            {
                string[] flds = meta.HeaderRecord.Split('\t');
                foreach (string f in flds)
                {
                    dt.Columns.Add(f);
                }
                foreach (DataRow dr in data.Rows)
                {
                    if (dr["data_value"] == null)
                    {
                        continue;
                    }
                    string   dv  = dr["data_value"].ToString();
                    string[] dva = dv.Split('\t');
                    DataRow  drt = dt.NewRow();
                    drt["FileType"]   = "TAB";
                    drt["DBName"]     = meta.DBName;
                    drt["FileName"]   = meta.FileName;
                    drt["LineNo"]     = dr["line_number"].ToString();
                    drt["MatchScore"] = dr["MatchScore"].ToString();
                    for (int i = 0; i < flds.Length; i++)
                    {
                        if (i >= dva.Length)
                        {
                            break;
                        }
                        drt[flds[i]] = dva[i];
                    }
                    dt.Rows.Add(drt);
                }
            }
            else
            {
                dt.Columns.Add("FirstLineData");
                dt.Columns.Add("Text");
                foreach (DataRow dr in data.Rows)
                {
                    if (dr["data_value"] == null)
                    {
                        continue;
                    }
                    string  dv  = dr["data_value"].ToString();
                    DataRow drt = dt.NewRow();
                    drt["FileType"]      = "TAB";
                    drt["DBName"]        = meta.DBName;
                    drt["FileName"]      = meta.FileName;
                    drt["LineNo"]        = dr["line_number"].ToString();
                    drt["MatchScore"]    = dr["MatchScore"].ToString();
                    drt["FirstLineData"] = meta.HeaderRecord;
                    drt["Text"]          = dv;
                    dt.Rows.Add(drt);
                }
            }
            return(dt);
        }
コード例 #2
0
ファイル: BaleenQuery.cs プロジェクト: DoctorFreckles/Baleen
        public static void Init(string dbServerConnect)
        {
            Console.WriteLine("Baleen Query Start Up");
            SqlConnection c = null;

            try
            {
                c = new SqlConnection(dbServerConnect);
                c.Open();
                SqlDataAdapter sda = new SqlDataAdapter(sqlAllDB, c);
                DataTable      dt  = new DataTable();
                sda.Fill(dt);
                baleenDB   = dt;
                baleenMeta = new List <DBMeta>();
                foreach (DataRow dr in dt.Rows)
                {
                    string db = dr[0].ToString();
                    Console.WriteLine(db);
                    string    sql = sqlMeta.Replace("<<DB>>", db);
                    DataTable dtm = new DataTable();
                    sda = new SqlDataAdapter(sql, c);
                    sda.Fill(dtm);
                    foreach (DataRow drm in dtm.Rows)
                    {
                        DBMeta dm = new DBMeta();
                        dm.DBName = db;
                        try
                        {
                            dm.FileName = drm[0].ToString();
                        }
                        catch { }
                        try
                        {
                            dm.FirstLine = long.Parse(drm[1].ToString());
                        }
                        catch { }
                        try
                        {
                            dm.MinLoadDate = DateTime.Parse(drm[2].ToString());
                        }
                        catch { }
                        try
                        {
                            dm.MaxLoadDate = DateTime.Parse(drm[3].ToString());
                        }
                        catch { }
                        try
                        {
                            dm.TotalLines = long.Parse(drm[4].ToString());
                        }
                        catch { }
                        try
                        {
                            dm.HeaderRecord = drm[5].ToString();
                        }
                        catch { }
                        baleenMeta.Add(dm);
                    }
                }
                Dictionary <string, string> subs = new Dictionary <string, string>();
                foreach (DBMeta dm in baleenMeta)
                {
                    subs[dm.Subject] = "";
                }
                AvailableSubjects = subs.Keys.ToList <string>();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            finally
            {
                if (c != null)
                {
                    c.Close();
                }
            }
        }