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!");
}
c#批量插入数据到clickhouse
最新推荐文章于 2024-05-17 21:21:06 发布
本文档详细描述了如何使用C#通过9000端口连接ClickHouse数据库,包括创建连接、构造和执行SQL插入命令,以及处理可能的异常情况。
摘要由CSDN通过智能技术生成