@@ -31,115 +31,115 @@ static void Main(string[] args)
3131 Port = 6030
3232
3333 } ;
34- //Example for ADO.Net
35- using ( var connection = new TaosConnection ( builder . ConnectionString ) )
36- {
37- connection . Open ( ) ;
38- Console . WriteLine ( "ServerVersion:{0}" , connection . ServerVersion ) ;
39- connection . DatabaseExists ( database ) ;
40- Console . WriteLine ( "create {0} {1}" , database , connection . CreateCommand ( $ "create database { database } ;") . ExecuteNonQuery ( ) ) ;
41- Console . WriteLine ( "create table t {0} {1}" , database , connection . CreateCommand ( $ "create table { database } .t (ts timestamp, cdata binary(255));") . ExecuteNonQuery ( ) ) ;
42- Console . WriteLine ( "insert into t values {0} " , connection . CreateCommand ( $ "insert into { database } .t values ({ ( long ) ( DateTime . Now . Subtract ( new DateTime ( 1970 , 1 , 1 , 0 , 0 , 0 , 0 ) ) . TotalMilliseconds ) } , 10);") . ExecuteNonQuery ( ) ) ;
43- Console . WriteLine ( "create {0} {1}" , database , connection . CreateCommand ( $ "use { database } ;") . ExecuteNonQuery ( ) ) ;
44-
45- Console . WriteLine ( "单表插入一行数据 {0} " , connection . CreateCommand ( $ "insert into { database } .t values ({ ( long ) ( DateTime . Now . Subtract ( new DateTime ( 1970 , 1 , 1 , 0 , 0 , 0 , 0 ) ) . TotalMilliseconds ) } , 10);") . ExecuteNonQuery ( ) ) ;
46- Thread . Sleep ( 100 ) ;
47- Console . WriteLine ( "单表插入多行数据 {0} " , connection . CreateCommand ( $ "insert into { database } .t values ({ ( long ) ( DateTime . Now . Subtract ( new DateTime ( 1970 , 1 , 1 , 0 , 0 , 0 , 0 ) ) . TotalMilliseconds ) } , 101) ({ ( long ) ( DateTime . Now . Subtract ( new DateTime ( 1970 , 1 , 1 , 0 , 0 , 0 , 0 ) ) . TotalMilliseconds + 1 ) } , 992);") . ExecuteNonQuery ( ) ) ;
48- connection . ChangeDatabase ( database ) ;
49- BindParamBatch ( connection ) ;
50-
51- Console . WriteLine ( "insert into t values {0} " , connection . CreateCommand ( $ "insert into { database } .t values ({ ( long ) ( DateTime . Now . AddMonths ( - 1 ) . Subtract ( new DateTime ( 1970 , 1 , 1 , 0 , 0 , 0 , 0 ) ) . TotalMilliseconds ) } , 20);") . ExecuteNonQuery ( ) ) ;
52- var cmd_select = connection . CreateCommand ( ) ;
53- cmd_select . CommandText = $ "select * from { database } .t;";
54- var reader = cmd_select . ExecuteReader ( ) ;
55-
56- int index = reader . GetOrdinal ( "cdata" ) ;
57- if ( reader . Read ( ) )
58- {
59- var ts = reader . GetDateTime ( "ts" ) ;
60- }
61- Console . WriteLine ( $ "cdata index at { index } ") ;
62- Console . WriteLine ( cmd_select . CommandText ) ;
63- Console . WriteLine ( "" ) ;
64- ConsoleTableBuilder . From ( reader . ToDataTable ( ) ) . WithFormat ( ConsoleTableBuilderFormat . MarkDown ) . ExportAndWriteLine ( ) ;
65-
66- connection . ChangeDatabase ( database ) ;
67- Console . WriteLine ( "" ) ;
68- connection . CreateCommand ( $ "CREATE TABLE datas (reportTime timestamp, type int, bufferedEnd bool, address nchar(64), parameter nchar(64), `value` nchar(64)) TAGS (boxCode nchar(64), machineId int);") . ExecuteNonQuery ( ) ;
69- connection . CreateCommand ( $ "INSERT INTO data_history_67 USING datas TAGS ('mongo', 67) values ( 1608173534840, 2 ,false ,'Channel1.窑.烟囱温度', '烟囱温度' ,'122.00' );") . ExecuteNonQuery ( ) ;
70- var cmd_datas = connection . CreateCommand ( ) ;
71- cmd_datas . CommandText = $ "SELECT reportTime,type,bufferedEnd,address,parameter,`value` FROM { database } .data_history_67 LIMIT 100";
72- var readerdatas = cmd_datas . ExecuteReader ( ) ;
73- Console . WriteLine ( cmd_datas . CommandText ) ;
74- Console . WriteLine ( "" ) ;
75- ConsoleTableBuilder . From ( readerdatas . ToDataTable ( ) ) . WithFormat ( ConsoleTableBuilderFormat . Default ) . ExportAndWriteLine ( ) ;
76- Console . WriteLine ( "" ) ;
77-
78- Console . WriteLine ( "CREATE TABLE meters " , connection . CreateCommand ( $ "CREATE TABLE meters (ts timestamp, current float, voltage int, phase float) TAGS (location binary(64), groupdId int);") . ExecuteNonQuery ( ) ) ;
79- Console . WriteLine ( "CREATE TABLE d1001 " , connection . CreateCommand ( $ "CREATE TABLE d1001 USING meters TAGS (\" Beijing.Chaoyang\" , 2);") . ExecuteNonQuery ( ) ) ;
80- Console . WriteLine ( "INSERT INTO d1001 " , connection . CreateCommand ( $ "INSERT INTO d1001 USING METERS TAGS(\" Beijng.Chaoyang\" , 2) VALUES(now, 10.2, 219, 0.32);") . ExecuteNonQuery ( ) ) ;
81- Console . WriteLine ( "DROP TABLE {0} {1}" , database , connection . CreateCommand ( $ "DROP TABLE { database } .t;") . ExecuteNonQuery ( ) ) ;
82- Console . WriteLine ( "DROP DATABASE {0} {1}" , database , connection . CreateCommand ( $ "DROP DATABASE { database } ;") . ExecuteNonQuery ( ) ) ;
83- connection . CreateCommand ( "DROP DATABASE IF EXISTS IoTSharp" ) . ExecuteNonQuery ( ) ;
84- connection . CreateCommand ( "CREATE DATABASE IoTSharp KEEP 365d;" ) . ExecuteNonQuery ( ) ;
85- connection . ChangeDatabase ( "IoTSharp" ) ;
86- connection . CreateCommand ( "CREATE TABLE IF NOT EXISTS telemetrydata (ts timestamp,value_type tinyint, value_boolean bool, value_string binary(10240), value_long bigint,value_datetime timestamp,value_double double) TAGS (deviceid binary(32),keyname binary(64));" ) . ExecuteNonQuery ( ) ;
87- var devid1 = $ "{ Guid . NewGuid ( ) : N} ";
88- var devid2 = $ "{ Guid . NewGuid ( ) : N} ";
89- var devid3 = $ "{ Guid . NewGuid ( ) : N} ";
90- var devid4 = $ "{ Guid . NewGuid ( ) : N} ";
91- DateTime dt = DateTime . Now ;
92- UploadTelemetryData ( connection , devid1 , "1#air-compressor-two-level-discharge-temperature" , 1000 ) ;
93- UploadTelemetryData ( connection , devid2 , "1#air-compressor-load-rate" , 1000 ) ;
94- Console . WriteLine ( "" ) ;
95- Console . WriteLine ( "" ) ;
96- Console . WriteLine ( "" ) ;
97- DateTime dt2 = DateTime . Now ;
98- UploadTelemetryDataPool ( connection , devid3 , "1#air-compressor-two-level-discharge-temperature1" , 1000 ) ;
99- UploadTelemetryDataPool ( connection , devid4 , "1#air-compressor-load-rate1" , 1000 ) ;
100- var t1 = DateTime . Now . Subtract ( dt ) . TotalSeconds ;
101- var t2 = DateTime . Now . Subtract ( dt2 ) . TotalSeconds ;
102- Console . WriteLine ( "Done" ) ;
103- Thread . Sleep ( TimeSpan . FromSeconds ( 1 ) ) ;
104- Console . WriteLine ( $ "UploadTelemetryData 耗时:{ t1 } ") ;
105- Console . WriteLine ( $ "UploadTelemetryDataPool 耗时:{ t2 } ") ;
106- Thread . Sleep ( TimeSpan . FromSeconds ( 2 ) ) ;
107- var reader2 = connection . CreateCommand ( "select last_row(*) from telemetrydata group by deviceid,keyname ;" ) . ExecuteReader ( ) ;
108- ConsoleTableBuilder . From ( reader2 . ToDataTable ( ) ) . WithFormat ( ConsoleTableBuilderFormat . Default ) . ExportAndWriteLine ( ) ;
109- var reader3 = connection . CreateCommand ( "select * from telemetrydata;" ) . ExecuteReader ( ) ;
110- List < string > list = new List < string > ( ) ;
111- while ( reader3 . Read ( ) )
112- {
113- list . Add ( reader3 . GetString ( "keyname" ) ) ;
114- }
115-
116- var k = list . GroupBy ( e => e ) ;
117- var dic = k . ToDictionary ( en => en . Key , en => en . ToList ( ) ) ;
118- dic . Keys . ToList ( ) . ForEach ( k =>
119- {
120- Console . WriteLine ( k ) ;
121- ConsoleTableBuilder . From ( dic [ k ] ) . WithFormat ( ConsoleTableBuilderFormat . Default ) . ExportAndWriteLine ( TableAligntment . Center ) ;
122- } ) ;
123-
124-
125-
126- BulkInsertLines ( connection ) ;
127-
128- BulkInsertJsonString ( connection ) ;
129-
130- BulkInsertByJsonAndTags ( connection ) ;
131-
132- BulkInsertWithJson_BuildJson ( connection ) ;
133-
134- Console . WriteLine ( "DROP DATABASE IoTSharp" , database , connection . CreateCommand ( $ "DROP DATABASE IoTSharp;") . ExecuteNonQuery ( ) ) ;
135-
136-
137-
138- connection . Close ( ) ;
139-
140-
141-
142- }
34+ //// Example for ADO.Net
35+ // using (var connection = new TaosConnection(builder.ConnectionString))
36+ // {
37+ // connection.Open();
38+ // Console.WriteLine("ServerVersion:{0}", connection.ServerVersion);
39+ // connection.DatabaseExists(database);
40+ // Console.WriteLine("create {0} {1}", database, connection.CreateCommand($"create database {database};").ExecuteNonQuery());
41+ // Console.WriteLine("create table t {0} {1}", database, connection.CreateCommand($"create table {database}.t (ts timestamp, cdata binary(255));").ExecuteNonQuery());
42+ // Console.WriteLine("insert into t values {0} ", connection.CreateCommand($"insert into {database}.t values ({(long)(DateTime.Now.Subtract(new DateTime(1970, 1, 1, 0, 0, 0, 0)).TotalMilliseconds)}, 10);").ExecuteNonQuery());
43+ // Console.WriteLine("create {0} {1}", database, connection.CreateCommand($"use {database};").ExecuteNonQuery());
44+
45+ // Console.WriteLine("单表插入一行数据 {0} ", connection.CreateCommand($"insert into {database}.t values ({(long)(DateTime.Now.Subtract(new DateTime(1970, 1, 1, 0, 0, 0, 0)).TotalMilliseconds)}, 10);").ExecuteNonQuery());
46+ // Thread.Sleep(100);
47+ // Console.WriteLine("单表插入多行数据 {0} ", connection.CreateCommand($"insert into {database}.t values ({(long)(DateTime.Now.Subtract(new DateTime(1970, 1, 1, 0, 0, 0, 0)).TotalMilliseconds)}, 101) ({(long)(DateTime.Now.Subtract(new DateTime(1970, 1, 1, 0, 0, 0, 0)).TotalMilliseconds + 1)}, 992);").ExecuteNonQuery());
48+ // connection.ChangeDatabase(database);
49+ // BindParamBatch(connection);
50+
51+ // Console.WriteLine("insert into t values {0} ", connection.CreateCommand($"insert into {database}.t values ({(long)(DateTime.Now.AddMonths(-1).Subtract(new DateTime(1970, 1, 1, 0, 0, 0, 0)).TotalMilliseconds)}, 20);").ExecuteNonQuery());
52+ // var cmd_select = connection.CreateCommand();
53+ // cmd_select.CommandText = $"select * from {database}.t;";
54+ // var reader = cmd_select.ExecuteReader();
55+
56+ // int index = reader.GetOrdinal("cdata");
57+ // if (reader.Read())
58+ // {
59+ // var ts = reader.GetDateTime("ts");
60+ // }
61+ // Console.WriteLine($"cdata index at {index}");
62+ // Console.WriteLine(cmd_select.CommandText);
63+ // Console.WriteLine("");
64+ // ConsoleTableBuilder.From(reader.ToDataTable()).WithFormat(ConsoleTableBuilderFormat.MarkDown).ExportAndWriteLine();
65+
66+ // connection.ChangeDatabase(database);
67+ // Console.WriteLine("");
68+ // connection.CreateCommand($"CREATE TABLE datas (reportTime timestamp, type int, bufferedEnd bool, address nchar(64), parameter nchar(64), `value` nchar(64)) TAGS (boxCode nchar(64), machineId int);").ExecuteNonQuery();
69+ // connection.CreateCommand($"INSERT INTO data_history_67 USING datas TAGS ('mongo', 67) values ( 1608173534840, 2 ,false ,'Channel1.窑.烟囱温度', '烟囱温度' ,'122.00' );").ExecuteNonQuery();
70+ // var cmd_datas = connection.CreateCommand();
71+ // cmd_datas.CommandText = $"SELECT reportTime,type,bufferedEnd,address,parameter,`value` FROM {database}.data_history_67 LIMIT 100";
72+ // var readerdatas = cmd_datas.ExecuteReader();
73+ // Console.WriteLine(cmd_datas.CommandText);
74+ // Console.WriteLine("");
75+ // ConsoleTableBuilder.From(readerdatas.ToDataTable()).WithFormat(ConsoleTableBuilderFormat.Default).ExportAndWriteLine();
76+ // Console.WriteLine("");
77+
78+ // Console.WriteLine("CREATE TABLE meters ", connection.CreateCommand($"CREATE TABLE meters (ts timestamp, current float, voltage int, phase float) TAGS (location binary(64), groupdId int);").ExecuteNonQuery());
79+ // Console.WriteLine("CREATE TABLE d1001 ", connection.CreateCommand($"CREATE TABLE d1001 USING meters TAGS (\"Beijing.Chaoyang\", 2);").ExecuteNonQuery());
80+ // Console.WriteLine("INSERT INTO d1001 ", connection.CreateCommand($"INSERT INTO d1001 USING METERS TAGS(\"Beijng.Chaoyang\", 2) VALUES(now, 10.2, 219, 0.32);").ExecuteNonQuery());
81+ // Console.WriteLine("DROP TABLE {0} {1}", database, connection.CreateCommand($"DROP TABLE {database}.t;").ExecuteNonQuery());
82+ // Console.WriteLine("DROP DATABASE {0} {1}", database, connection.CreateCommand($"DROP DATABASE {database};").ExecuteNonQuery());
83+ // connection.CreateCommand("DROP DATABASE IF EXISTS IoTSharp").ExecuteNonQuery();
84+ // connection.CreateCommand("CREATE DATABASE IoTSharp KEEP 365d;").ExecuteNonQuery();
85+ // connection.ChangeDatabase("IoTSharp");
86+ // connection.CreateCommand("CREATE TABLE IF NOT EXISTS telemetrydata (ts timestamp,value_type tinyint, value_boolean bool, value_string binary(10240), value_long bigint,value_datetime timestamp,value_double double) TAGS (deviceid binary(32),keyname binary(64));").ExecuteNonQuery();
87+ // var devid1 = $"{Guid.NewGuid():N}";
88+ // var devid2 = $"{Guid.NewGuid():N}";
89+ // var devid3 = $"{Guid.NewGuid():N}";
90+ // var devid4 = $"{Guid.NewGuid():N}";
91+ // DateTime dt = DateTime.Now;
92+ // UploadTelemetryData(connection, devid1, "1#air-compressor-two-level-discharge-temperature", 1000);
93+ // UploadTelemetryData(connection, devid2, "1#air-compressor-load-rate", 1000);
94+ // Console.WriteLine("");
95+ // Console.WriteLine("");
96+ // Console.WriteLine("");
97+ // DateTime dt2 = DateTime.Now;
98+ // UploadTelemetryDataPool(connection, devid3, "1#air-compressor-two-level-discharge-temperature1", 1000);
99+ // UploadTelemetryDataPool(connection, devid4, "1#air-compressor-load-rate1", 1000);
100+ // var t1 = DateTime.Now.Subtract(dt).TotalSeconds;
101+ // var t2 = DateTime.Now.Subtract(dt2).TotalSeconds;
102+ // Console.WriteLine("Done");
103+ // Thread.Sleep(TimeSpan.FromSeconds(1));
104+ // Console.WriteLine($"UploadTelemetryData 耗时:{t1}");
105+ // Console.WriteLine($"UploadTelemetryDataPool 耗时:{t2}");
106+ // Thread.Sleep(TimeSpan.FromSeconds(2));
107+ // var reader2 = connection.CreateCommand("select last_row(*) from telemetrydata group by deviceid,keyname ;").ExecuteReader();
108+ // ConsoleTableBuilder.From(reader2.ToDataTable()).WithFormat(ConsoleTableBuilderFormat.Default).ExportAndWriteLine();
109+ // var reader3 = connection.CreateCommand("select * from telemetrydata;").ExecuteReader();
110+ // List<string> list = new List<string>();
111+ // while (reader3.Read())
112+ // {
113+ // list.Add(reader3.GetString("keyname"));
114+ // }
115+
116+ // var k = list.GroupBy(e => e);
117+ // var dic = k.ToDictionary(en => en.Key, en => en.ToList());
118+ // dic.Keys.ToList().ForEach(k =>
119+ // {
120+ // Console.WriteLine(k);
121+ // ConsoleTableBuilder.From(dic[k]).WithFormat(ConsoleTableBuilderFormat.Default).ExportAndWriteLine(TableAligntment.Center);
122+ // });
123+
124+
125+
126+ // BulkInsertLines(connection);
127+
128+ // BulkInsertJsonString(connection);
129+
130+ // BulkInsertByJsonAndTags(connection);
131+
132+ // BulkInsertWithJson_BuildJson(connection);
133+
134+ // Console.WriteLine("DROP DATABASE IoTSharp", database, connection.CreateCommand($"DROP DATABASE IoTSharp;").ExecuteNonQuery());
135+
136+
137+
138+ // connection.Close();
139+
140+
141+
142+ // }
143143 UseTaosEFCore ( builder ) ;
144144
145145 }
0 commit comments