目录
3、配置Goland 系统变量、重启Goland(该软件自己也有系统变量,有时候会和window11的系统变量不一致)
1、安装GCC、TDengine-client
1、github下载mingw64 软件包
2、解压指定目录、配置环境变量
MinGW_HOME = 自己的解压后的mingw64 目录绝对路径
path环境变量后增加
%MinGW_HOME%\bin
3、检验gcc是否安装成功
gcc --version
4、安装TDengine-client
使用安装包快速体验 TDengine | TDengine 文档 | 涛思数据
2、配置go环境变量
#启用 CGO
go env -w CGO_ENABLED=1
3、配置Goland 系统变量、重启Goland(该软件自己也有系统变量,有时候会和window11的系统变量不一致)
4、运行GO程序测试建立连接
package domain_test
import (
"database/sql"
"fmt"
_ "github.com/taosdata/driver-go/v3/taosSql" // 关键导入
_ "github.com/taosdata/driver-go/v3/taosWS"
"log"
"testing"
"time"
)
func createTDB() *sql.DB {
// use
// var taosDSN = "root:taosdata@ws(localhost:6041)/dbName"
// if you want to connect a specified database named "dbName".
var taosDSN = "root:Simba123!@#@ws(xxx.xxx.xxx.xxx:6041)/"
taos, err := sql.Open("taosWS", taosDSN)
if err != nil {
log.Fatalln("Failed to connect to " + taosDSN + "; ErrMessage: " + err.Error())
}
fmt.Println("Connected to " + taosDSN + " successfully.")
return taos
}
func Test_CreateTable(t *testing.T) {
TDB := createTDB()
defer TDB.Close()
TDB.Exec("CREATE DATABASE IF NOT EXISTS powers")
}
func Test_QueryData(t *testing.T) {
TDB := createTDB()
defer TDB.Close()
// query data, make sure the database and table are created before
sql := "SELECT ts, current, location FROM power.meters limit 100"
rows, err := TDB.Query(sql)
if err != nil {
log.Fatalf("Failed to query data from power.meters, sql: %s, ErrMessage: %s\n", sql, err.Error())
}
for rows.Next() {
// Add your data processing logic here
var (
ts time.Time
current float32
location string
)
err = rows.Scan(&ts, ¤t, &location)
if err != nil {
log.Fatalf("Failed to scan data, sql: %s, ErrMessage: %s\n", sql, err)
}
fmt.Printf("ts: %s, current: %f, location: %s\n", ts, current, location)
}
}
官网墙裂推荐 使用websocket连接 方式,反正我原生连接方式没有尝试成功