Go-hdb is a native Go (golang) HANA database driver for Go's sql package. It implements the SAP HANA SQL command network protocol.
For the official SAP HANA client Go support (not this database driver) please see SAP Help Portal.
go get -u github.com/SAP/go-hdb/driver
To build go-hdb you need to have a working Go environment of the latest or second latest Go version.
API documentation and documented examples can be found at https://pkg.go.dev/github.com/SAP/go-hdb/driver.
To run the driver integration tests a HANA Database server is required. The test user must have privileges to create database schemas.
Provide dsn via parameter:
go test -dsn hdb://user:password@host:port
or
set environment variable GOHDBDSN:
#linux example
export GOHDBDSN="hdb://user:password@host:port"
go test
Using the Go build tag 'unit' only the driver unit tests will be executed (no HANA Database server required):
go test --tags unit
- Native Go implementation (no C libraries, CGO).
- Go http://golang.org/pkg/database/sql package compliant.
- Support of database/sql/driver Execer and Queryer interface for parameter free statements and queries.
- Support of 'bulk' and 'many' inserts.
- Support of UTF-8 to / from CESU-8 encodings for HANA Unicode types.
- Built-in support of HANA decimals as Go rational numbers http://golang.org/pkg/math/big.
- Support of Large Object streaming.
- Support of Stored Procedures with table output parameters.
- Support of TLS TCP connections.
- Support of little-endian (e.g. amd64) and big-endian architectures (e.g. s390x).
- Support of driver connector.
- Support of PBKDF2 authentication as default and standard user / password as fallback.
- Please see go.mod.