Go Connector
安装准备
- 应用驱动安装请参考安装连接器驱动步骤。
TDengine提供了GO驱动程序taosSql
。 taosSql
实现了GO语言的内置接口database/sql/driver
。用户只需按如下方式引入包就可以在应用程序中访问TDengine, 详见https://github.com/taosdata/driver-go/blob/develop/taosSql/driver_test.go
。
使用 Go 连接器的示例代码请参考 https://github.com/taosdata/TDengine/tree/develop/tests/examples/go 以及视频教程。
import (
"database/sql"
_ "github.com/taosdata/driver-go/taosSql"
)
建议使用Go版本1.13或以上,并开启模块支持:
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.io,direct
常用API
sql.Open(DRIVER_NAME string, dataSourceName string) *DB
该API用来打开DB,返回一个类型为*DB的对象,一般情况下,DRIVER_NAME设置为字符串
taosSql
, dataSourceName设置为字符串user:password@/tcp(host:port)/dbname
,如果客户想要用多个goroutine并发访问TDengine, 那么需要在各个goroutine中分别创建一个sql.Open对象并用之访问TDengine注意: 该API成功创建的时候,并没有做权限等检查,只有在真正执行Query或者Exec的时候才能真正的去创建连接,并同时检查user/password/host/port是不是合法。 另外,由于整个驱动程序大部分实现都下沉到taosSql所依赖的libtaos中。所以,sql.Open本身特别轻量。
func (db *DB) Exec(query string, args ...interface{}) (Result, error)
sql.Open内置的方法,用来执行非查询相关SQL
func (db *DB) Query(query string, args ...interface{}) (*Rows, error)
sql.Open内置的方法,用来执行查询语句
func (db *DB) Prepare(query string) (*Stmt, error)
sql.Open内置的方法,Prepare creates a prepared statement for later queries or executions.
func (s *Stmt) Exec(args ...interface{}) (Result, error)
sql.Open内置的方法,executes a prepared statement with the given arguments and returns a Result summarizing the effect of the statement.
func (s *Stmt) Query(args ...interface{}) (*Rows, error)
sql.Open内置的方法,Query executes a prepared query statement with the given arguments and returns the query results as a *Rows.
func (s *Stmt) Close() error
sql.Open内置的方法,Close closes the statement.