【Go】Golang连接数据库使用HTTP协议

news/2024/9/17 17:26:18/ 标签: golang, 数据库, http
http://www.w3.org/2000/svg" style="display: none;">

离开你是傻是对是错
是看破是软弱
这结果是爱是恨或者是什么
如果是种解脱
怎么会还有眷恋在我心窝
那么爱你为什么
                     🎵 黄品源/莫文蔚《那么爱你为什么》


package mainimport ("context""fmt""log""time""github.com/ClickHouse/clickhouse-go/v2"
)func main() {// 确保使用 HTTP 协议和 8123 端口conn, err := clickhouse.Open(&clickhouse.Options{Protocol: clickhouse.HTTP,  // 使用 HTTP 协议Addr:     []string{"192.168.2.202:8123"},  // 确保使用 HTTP 端口 8123Auth: clickhouse.Auth{Database: "shujujiance",  // 数据库名称Username: "default",      // 用户名Password: "",             // 密码},DialTimeout:     10 * time.Second,MaxOpenConns:    5,MaxIdleConns:    5,ConnMaxLifetime: time.Hour,})if err != nil {log.Fatalf("Failed to create connection: %v", err)}// Ping ClickHouse 服务器,确保连接成功ctx := context.Background()if err := conn.Ping(ctx); err != nil {log.Fatalf("Failed to ping ClickHouse: %v", err)}fmt.Println("Connected to ClickHouse via HTTP!")// 执行一个简单的查询rows, err := conn.Query(ctx, "SELECT number FROM system.numbers LIMIT 5")if err != nil {log.Fatalf("Failed to execute query: %v", err)}defer rows.Close()// 遍历查询结果for rows.Next() {var number uint64if err := rows.Scan(&number); err != nil {log.Fatalf("Failed to scan result: %v", err)}fmt.Printf("Number: %d\n", number)}// 检查是否有错误if err := rows.Err(); err != nil {log.Fatalf("Error during result iteration: %v", err)}fmt.Println("Query executed successfully")
}

http://www.ppmy.cn/news/1525063.html

相关文章

从100G到400G:利用多模光纤升级数据中心网络

数据中心网络的持续发展 数据中心网络的持续发展涵盖了两个关键方面。首先,必须应对由机器学习和物联网等数据密集型应用所带来的带宽和流量需求的增长挑战,这些应用正在推动现有10G和40G链路的升级;其次,为了满足日益提升的可持…

Leetcode 三数之和

解题思路: 排序数组:首先对数组进行排序,以便使用双指针技术来查找三元组。双指针法:在遍历数组时,遍历固定三元组的第一个元素,然后使用双指针(分别指向剩下数组的头和尾并相向而行&#xff0…

基于图谱的记忆存储 - mem0 graph memory + neo4j

log 日志版 【LLM最强大脑】基于图谱的记忆存储 - mem0 graph memory neo4j_哔哩哔哩_bilibili 获取API Key 谷歌邮箱注册,需科学上网,你知道的┗|`O′|┛ 嗷~~ 获取 mem0ai key Dashboard | Mem0.ai 获取 neo4j key Neo4j Graph Databa…

WebLogic 笔记汇总

WebLogic 笔记汇总 一、weblogic安装 1、创建用户和用户组 groupadd weblogicuseradd -g weblogic weblogic # 添加用户,并用-g参数来制定 web用户组passwd weblogic # passwd命令修改密码# 在文件末尾增加以下内容 cat >>/etc/security/limits.conf<<EOF web…

SpringMVC基于注解使用

01-拦截器介绍 首先在pom.xml里面加入springmvc的依赖 创建拦截类 在spring-mvc.xml配置拦截器配置 创建控制类测试 拦截器中处理方法之前的方法介绍 拦截器中处理方法之后&#xff0c;渲染之前的方法介绍 拦截器中处理方法之后&#xff0c;渲染之后的方法介绍 判断拦截器和过…

element form rules 验证数组对象属性时如何写判断规则

需求&#xff1a;一个el-form-item里放了2个下拉选择框&#xff0c;规定是最少选择一个&#xff0c;最多这俩都选择值&#xff1b;下拉框的值设置为对象了&#xff0c;所以这俩select的值组成了一个数组里的两个对象 逻辑&#xff1a;感觉只需要把第一个下拉框值&#xff08;即…

默认端口被占用后,如何修改Apache2 端口

你可以通过以下步骤修改 Apache2 的默认端口&#xff08;80 端口&#xff09;&#xff1a; 1. 修改 Apache2 配置文件 首先&#xff0c;你需要编辑 Apache2 的端口配置文件&#xff1a; sudo nano /etc/apache2/ports.conf在文件中&#xff0c;你会看到类似以下的内容&#…

【PostgreSQL里的restartpoint重启点】

不知道大家有没有关注过&#xff0c;配置文件里archive_cleanup_command参数的注释部分有着这么一句"command to execute at every restartpoint",意思是在每个restartpoint时执行的命令。 提起checkpoint大家可能比较熟悉&#xff0c;对于这个restartpoint&#xff…

fs::copy中的recursive和overwriting的区别是什么,如何一起使用

fs::copy中的recursive和overwriting参数关注于文件复制的不同方面&#xff1a; recursive&#xff1a;当设置为true时&#xff0c;允许复制目录及其所有子目录和文件。如果设置为false&#xff0c;则只复制单个文件或空目录。 overwriting&#xff1a;当设置为true时&#xf…

vulnhub靶机:21 LTR: Scene1

下载 下载地址&#xff1a;https://www.vulnhub.com/entry/21ltr-scene-1,3/ 导入靶机 一直按默认的来&#xff0c;一直下一步 修改网卡 修改靶机和 kali 攻击机网络模式为仅主机模式 把仅主机模式的 IP 修改为 192.168.2.0 信息收集 主机发现 arp-scan -l 靶机 IP 是 192.…

golang panic

在 Go 语言中&#xff0c;panic 是一种用于处理异常情况的机制。当程序遇到无法继续执行的错误时&#xff0c;可以使用 panic 来引发运行时错误。以下是关于 panic 的一些关键点和示例。 1. 使用 panic 当调用 panic 时&#xff0c;程序会停止执行当前函数&#xff0c;并开始…

传承中华文脉·弘扬北疆文化“四季内蒙古演出季”区内外文艺院团交流演出活动即将启动

为推进“北疆文化”品牌建设&#xff0c;由内蒙古自治区文化和旅游厅、呼和浩特市人民政府主办&#xff0c;呼和浩特市文化旅游广电局承办的传承中华文脉弘扬北疆文化——“四季内蒙古演出季”区内外文艺院团交流演出活动将于9月14日至11月期间在呼和浩特市举办。 传承中华文脉…

Go入门指南(The Way to Go) 完整版PDF

The Way To Go可以说是入门 Go 的经典书籍&#xff0c;这本书有内容丰富各种资料链接&#xff0c;这是截止到目前&#xff0c;大叔看到的写得最好的go 语言教材&#xff0c;非常详细.一口气读下来&#xff0c;舍不得放手&#xff0c;大叔强烈推荐你去学习 百度网盘分享

环境变量和本地变量

什么是环境变量&#xff1f; 环境变量是操作系统里保存的具有特殊用途的参数 常见的环境变量 PATH&#xff1a;存放操作系统默认的搜索路径 HOME&#xff1a;当前的登入账户 USER&#xff1a;当前的使用者 如何查询环境变量&#xff1f; echo $name&#xff08;环境变量名…

数学建模笔记—— 线性规划

数学建模笔记—— 线性规划 线性规划1. 模型引出1.1 线性规划模型的三要素1.2 线性规划模型建立步骤1.3 线性规划的表现形式1.4 线性规划的模型特点 2.典型例题3. python代码求解3.1 求解KK升级的问题3.2 求解投资收益问题 线性规划 在人们的生产实践中&#xff0c;经常会遇到…

『功能项目』管理器基类【38】

我们打开上一篇37单例模式框架的项目&#xff0c; 本章要做的事情是编写管理器基类 首先创建脚本&#xff1a;ManagerBase.cs using UnityEngine; public abstract class ManagerBase : MonoBehaviour{public virtual void Init() { } } public class ManagerBase<T> : …

Linux 防火墙:iptables (二)

文章目录 SNAT 原理与应用SNAT 应用环境SNAT 原理SNAT 转换前提条件SNAT 格式SNAT 转换规则配置 DNAT 原理与应用DNAT 应用环境DNAT 原理DNAT 转换前提条件DNAT 格式DNAT 转换规则配置 iptables 规则的备份和还原导出&#xff08;备份&#xff09;所有表的规则导入&#xff08;…

【网络通信基础与实践第二讲】包括互联网概述、互联网发展的三个阶段、互联网的组成、计算机网络的体系结构

一、互联网概述 计算机网络是由若干节点&#xff08;node&#xff09;和连接这些节点的链路&#xff08;link&#xff09;组成。 网络之间还可以通过路由器互联起来&#xff0c;这就构成了一个覆盖范围更大的计算机网络。这样的网络称为互联网。 网络把许多计算机连接在一起…

如何将本地项目上传到GitHub(SSH连接)

在个人GitHub中新建项目(远程仓库)&#xff0c;添加一个README文件&#xff0c;方便后面验证 记住这个默认分支&#xff0c;我这里是main&#xff0c;你的可能是master或其他 先复制下SSH地址 在项目文件夹中右键打开Git命令行 初始化本地仓库&#xff0c;同时指定默认分支为ma…

微信小程序登录与获取手机号 (Python)

文章目录 相关术语登录逻辑登录设计登录代码 相关术语 调用接口[wx.login()]获取登录凭证&#xff08;code&#xff09;。通过凭证进而换取用户登录态信息&#xff0c;包括用户在当前小程序的唯一标识&#xff08;openid&#xff09;、微信开放平台账号下的唯一标识&#xff0…