Exemplo n.º 1
0
        /// <summary>
        /// 获取数据表
        /// </summary>
        /// <param name="strTableNameLike"></param>
        /// <returns></returns>
        public List <Table> GetTables(string strTableNameLike)
        {
            ConnEventArgs args = new ConnEventArgs();

            args.IsFinished = false;
            args.Info       = "开始获取表……";
            if (null != OnConn)
            {
                this.OnConn(this, args);
            }

            List <Table> list = null;

            if (this.connType == Enums.EnumConnType.OleDb)
            {
                list = GetTablesOfOleDb(strTableNameLike);
            }
            else
            {
                list = GetTablesOfOther(strTableNameLike);
            }

            args.IsFinished = true;
            args.Info       = "表获取完成";
            if (null != OnConn)
            {
                this.OnConn(this, args);
            }

            return(list);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 获取其他数据库的数据字典
        /// </summary>
        /// <param name="strTableNameLike"></param>
        /// <returns></returns>
        private List <Table> GetTablesOfOther(string strTableNameLike)
        {
            ConnEventArgs args = new ConnEventArgs();

            DataSet ds = db.GetList(string.Format(Config.Sql[connType].GetTablesSql, " and " + (connType == Enums.EnumConnType.MySql ? "TABLE_NAME" : "Name") + " LIKE '%" + strTableNameLike + "%'", Config.DatabaseName));

            if (null != ds && ds.Tables.Count > 0)
            {
                List <Table> tables = TableListConverter.TableToList <Table>(ds.Tables[0]);
                args.TotalNum = tables.Count;
                args.NowIndex = 0;
                foreach (Table table in tables)
                {
                    DataSet       dsColumns = db.GetList(string.Format(Config.Sql[connType].GetColumnsSql, table.Name, Config.DatabaseName));
                    List <Column> columns   = TableListConverter.TableToList <Column>(dsColumns.Tables[0]);
                    table.Columns = columns;
                    foreach (Column column in table.Columns)
                    {
                        column.DataTypeMapping = Config.DataType[connType, column.DataType];
                    }

                    ++args.NowIndex;
                    if (null != OnConn)
                    {
                        this.OnConn(this, args);
                    }
                }

                return(tables);
            }

            return(null);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 获取OleDb数据库的数据字典
        /// </summary>
        /// <param name="strTableNameLike"></param>
        /// <returns></returns>
        private List <Table> GetTablesOfOleDb(string strTableNameLike)
        {
            ConnEventArgs args = new ConnEventArgs();

            List <Table>    list = new List <Table>();
            OleDbConnection conn = ((OleDbConnection)db.Conn.Conn);

            conn.Open();
            DataTable dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new Object[] { null, null, null, "table" });

            args.TotalNum = dt.Rows.Count;
            args.NowIndex = 0;
            foreach (DataRow dr in dt.Rows)
            {
                Table table = new Table();
                table.Name    = dr["TABLE_NAME"].ToString();
                table.Type    = dr["TABLE_Type"].ToString();
                table.Comment = dr["Description"].ToString();
                table.Columns = new List <Column>();

                DataTable columns = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, new Object[] { null, null, table.Name, null });
                foreach (DataRow column in columns.Rows)
                {
                    Column tableColumn = new Column();
                    tableColumn.Comment = column["Description"].ToString();
                    try
                    {
                        tableColumn.DataType = Config.DataType[Config.ConnType.Value, column["Data_Type"].ToString()].Name;
                    }
                    catch { }
                    //tableColumn.DataTypeMapping = Config.DataType[connType, tableColumn.DataType];
                    tableColumn.DataTypeMapping = Config.DataType[connType, column["Data_Type"].ToString()];
                    tableColumn.DefaultValue    = column["Column_Default"].ToString();
                    //tableColumn.IsAutoIncrease = bool.Parse(column[""].ToString());
                    tableColumn.IsNullable = bool.Parse(column["Is_Nullable"].ToString());
                    //tableColumn.IsPrimaryKey = bool.Parse(column[""].ToString());
                    try
                    {
                        tableColumn.MaxLength = short.Parse(column["CHARACTER_MAXIMUM_LENGTH"].ToString());
                    }
                    catch
                    {
                        tableColumn.MaxLength = 0;
                    }
                    tableColumn.Name = column["COLUMN_NAME"].ToString();
                    table.Columns.Add(tableColumn);
                }

                list.Add(table);

                ++args.NowIndex;
                if (null != OnConn)
                {
                    this.OnConn(this, args);
                }
            }
            conn.Close();
            return(list);
        }
Exemplo n.º 4
0
        private void ConnectedEventHandler(object sender, ConnEventArgs e)
        {
            var logArgs = new LogMessageEventArgs
            {
                LogType = MqLogType.ServerConnError,
                Reason  = $"An error occurred during connect NATS --> {e.Error}"
            };

            OnLog?.Invoke(null, logArgs);
        }
Exemplo n.º 5
0
        public void TestDefaultHandler()
        {
            // making sure there is no null pointer
            ConnEventArgs cea = new ConnEventArgs(null, null);

            DefaultClosedEventHandler().Invoke(null, cea);
            DefaultServerDiscoveredEventHandler().Invoke(null, cea);
            DefaultDisconnectedEventHandler().Invoke(null, cea);
            DefaultReconnectedEventHandler().Invoke(null, cea);
            DefaultLameDuckModeEventHandler().Invoke(null, cea);
            DefaultLameDuckModeEventHandler().Invoke(null, cea);
            DefaultClosedEventHandler().Invoke(null, null);
            DefaultServerDiscoveredEventHandler().Invoke(null, null);
            DefaultDisconnectedEventHandler().Invoke(null, null);
            DefaultReconnectedEventHandler().Invoke(null, null);
            DefaultLameDuckModeEventHandler().Invoke(null, null);
            DefaultLameDuckModeEventHandler().Invoke(null, null);

            ErrEventArgs eea = new ErrEventArgs(null, null, null);

            DefaultAsyncErrorEventHandler().Invoke(null, eea);
            DefaultAsyncErrorEventHandler().Invoke(null, null);

            HeartbeatAlarmEventArgs haea = new HeartbeatAlarmEventArgs(null, null, 0U, 0U);

            DefaultHeartbeatAlarmEventHandler().Invoke(null, haea);
            DefaultHeartbeatAlarmEventHandler().Invoke(null, null);

            UnhandledStatusEventArgs usea = new UnhandledStatusEventArgs(null, null, null);

            DefaultUnhandledStatusEventHandler().Invoke(null, usea);
            DefaultUnhandledStatusEventHandler().Invoke(null, null);

            FlowControlProcessedEventArgs fcpea = new FlowControlProcessedEventArgs(null, null, null, FlowControlSource.Heartbeat);

            DefaultFlowControlProcessedEventHandler().Invoke(null, fcpea);
            DefaultFlowControlProcessedEventHandler().Invoke(null, null);
        }
Exemplo n.º 6
0
 private void handleDisconnect(object sender, ConnEventArgs e)
 {
     hitDisconnect++;
 }
Exemplo n.º 7
0
 private void onClosed(object sender, ConnEventArgs args)
 {
     Shutdown();
 }
Exemplo n.º 8
0
 private void onDisconnect(object sender, ConnEventArgs args)
 {
     Log.Info("Lost connection to NATS.");
     Disconnected?.Invoke(this, EmptyServeEventArgs);
 }
Exemplo n.º 9
0
 private void onReconnect(object sender, ConnEventArgs args)
 {
     Log.Info("Reconnected to NATS. Sending reset event.");
     ResetAll();
     Reconnected?.Invoke(this, EmptyServeEventArgs);
 }
Exemplo n.º 10
0
        private void DisconnectedEventHandler(object sender, ConnEventArgs e)
        {
            Console.WriteLine("NATS Server got disconnected");

            //throw new NATSConnectionClosedException();
        }