1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
go-hdb
======
[](https://godoc.org/github.com/SAP/go-hdb/driver)
[](https://goreportcard.com/report/github.com/SAP/go-hdb)

Go-hdb is a native Go (golang) HANA database driver for Go's sql package. It implements the SAP HANA SQL command network protocol:
<http://help.sap.com/hana/SAP_HANA_SQL_Command_Network_Protocol_Reference_en.pdf>
For the official SAP HANA client Go support (not this database driver) please see [SAP Help Portal](https://help.sap.com/viewer/0eec0d68141541d1b07893a39944924e/2.0.02/en-US/0ffbe86c9d9f44338441829c6bee15e6.html).
## Installation
```
go get github.com/SAP/go-hdb/driver
```
## Building
To build go-hdb you need to have a working Go environment with [version 1.14 or higher installed](https://golang.org/dl/).
## Documentation
API documentation and documented examples can be found at <https://godoc.org/github.com/SAP/go-hdb/driver>.
## Tests
To run the driver tests a HANA Database server is required. The test user must have privileges to create database schemas.
```
go test -dsn hdb://user:password@host:port
```
## Features
* 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 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](https://golang.org/pkg/database/sql/driver/#Connector).
* Support of [PBKDF2](https://tools.ietf.org/html/rfc2898) authentication as default and standard user / password as fallback.
## Dependencies
* <https://godoc.org/golang.org/x/text/transform>
* <https://godoc.org/golang.org/x/crypto/pbkdf2>
|