0
点赞
收藏
分享

微信扫一扫

c#批量插入数据到clickhouse


private void saveToClickHouse()
  {
            //需要特别注意的是,c#连接端口要用9000,不是8123,然后也CH不支持多个SQL语句批量执行。
            var connectionString = "Compress=True;BufferSize=32768;SocketTimeout=10000;CheckCompressedHash=False;Encrypt=False;Compressor=lz4;Host=0.0.0.0;Port=9000;Database=default;User=default;Password=*****";
            // 创建 ClickHouse 连接
            using (var connection = new ClickHouseConnection(connectionString))
            {
                // 打开连接
                connection.Open();
                try
                {
                    // 构建插入命令
                    using (var cmd = connection.CreateCommand())
                    {
                        string sql = $"INSERT INTO plc_dict(id,value) VALUES";
                        for (int i = 0; i < entities.Count; i++)
                        {
                          //这里处理SQL拼接的问题
                        }
                        cmd.CommandText = sql;
                        int row = cmd.ExecuteNonQuery();
                    }
                }
                catch (Exception ex)
                {
                    ;
                }
                // 关闭连接
                connection.Close();
            }

            Console.WriteLine("Data inserted successfully!");

 }

举报

相关推荐

0 条评论