https://github.com/nakagami/firebirdsql
Firebird RDBMS sql driver for Go (golang)
https://github.com/nakagami/firebirdsql
Last synced: 9 months ago
JSON representation
Firebird RDBMS sql driver for Go (golang)
- Host: GitHub
- URL: https://github.com/nakagami/firebirdsql
- Owner: nakagami
- License: mit
- Created: 2013-08-27T13:09:14.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2024-05-23T00:39:45.000Z (over 1 year ago)
- Last Synced: 2024-05-23T00:57:28.136Z (over 1 year ago)
- Language: Go
- Homepage:
- Size: 719 KB
- Stars: 219
- Watchers: 18
- Forks: 59
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-go-storage - firebirdsql - Firebird RDBMS SQL driver for Go (Database Drivers)
- awesome-go-cn - firebirdsql
- awesome-go - firebirdsql - Firebird RDBMS sql driver for Go (golang) - ★ 89 (Database Drivers)
- awesome-go-plus - firebirdsql - Firebird RDBMS SQL driver for Go.  (Database Drivers / Relational Database Drivers)
- awesome-go-storage - firebirdsql - Firebird RDBMS SQL driver for Go (Database Drivers)
- awesome-go - firebirdsql - Firebird RDBMS SQL driver for Go. (Database Drivers / Relational Database Drivers)
- fucking-awesome-go - :octocat: firebirdsql - Firebird RDBMS SQL driver for Go :star: 43 :fork_and_knife: 10 (Database Drivers / Advanced Console UIs)
- awesome-go - firebirdsql - | - | - | (Database Drivers / Advanced Console UIs)
- awesome-go - firebirdsql - Firebird RDBMS SQL driver for Go. (Database Drivers / Relational Database Drivers)
- awesome-go - firebirdsql - Firebird RDBMS SQL driver for Go. - :arrow_down:7 - :star:46 (Database Drivers / Advanced Console UIs)
- awesome-go - firebirdsql - Firebird RDBMS SQL driver for Go. (Database Drivers / Relational Database Drivers)
- awesome-go - nakagami/firebirdsql
- fucking-awesome-go - firebirdsql - Firebird RDBMS SQL driver for Go. (Database Drivers / Relational Database Drivers)
- awesome-go - firebirdsql - Firebird RDBMS SQL driver for Go. (Database Drivers / Advanced Console UIs)
- awesome-go-cn - firebirdsql
- awesome-go-cn - firebirdsql
- awesome-go-extra - firebirdsql - 08-27T13:09:14Z|2022-08-23T03:59:02Z| (Generators / Relational Database Drivers)
- awesome-go - firebirdsql - Firebird RDBMS SQL driver for Go. (Database Drivers / Relational Database Drivers)
- awesome-go - firebirdsql - 用于Go的Firebird RDBMS SQL驱动程序。 (<span id="数据库驱动-database-drivers">数据库驱动 Database Drivers</span> / <span id="高级控制台用户界面-advanced-console-uis">高级控制台用户界面 Advanced Console UIs</span>)
- awesome-go-with-stars - firebirdsql - Firebird RDBMS SQL driver for Go. (Database Drivers / Relational Database Drivers)
- awesome-go - firebirdsql - Firebird RDBMS SQL driver for Go. (Database Drivers / Relational Database Drivers)
- awesome-Char - firebirdsql - Firebird RDBMS SQL driver for Go. (Database Drivers / Advanced Console UIs)
- awesome-go - firebirdsql - Firebird RDBMS SQL driver for Go. (Database Drivers / Advanced Console UIs)
- awesome-go-cn - firebirdsql
README
# firebirdsql (Go firebird sql driver)
Firebird RDBMS https://firebirdsql.org SQL driver for Go
## Requirements
* Firebird 2.5 or higher
* Golang 1.20 or higher
## Example
```go
package main
import (
"fmt"
"database/sql"
_ "github.com/nakagami/firebirdsql"
)
func main() {
var n int
conn, _ := sql.Open("firebirdsql", "user:password@servername/foo/bar.fdb")
defer conn.Close()
conn.QueryRow("SELECT Count(*) FROM rdb$relations").Scan(&n)
fmt.Println("Relations count=", n)
}
```
See also driver_test.go
```go
package main
import (
"fmt"
"github.com/nakagami/firebirdsql"
)
func main() {
dsn := "user:password@servername/foo/bar.fdb"
events := []string{"my_event", "order_created"}
fbEvent, _ := firebirdsql.NewFBEvent(dsn)
defer fbEvent.Close()
sbr, _ := fbEvent.Subscribe(events, func(event firebirdsql.Event) { //or use SubscribeChan
fmt.Printf("event: %s, count: %d, id: %d, remote id:%d \n", event.Name, event.Count, event.ID, event.RemoteID)
})
defer sbr.Unsubscribe()
go func() {
fbEvent.PostEvent(events[0])
fbEvent.PostEvent(events[1])
}()
<- make(chan struct{}) //wait
}
```
See also _example
## Connection string
```bash
user:password@servername[:port_number]/database_name_or_file[?params1=value1[¶m2=value2]...]
```
### General
- user: login user
- password: login password
- servername: Firebird server's host name or IP address.
- port_number: Port number. default value is 3050.
- database_name_or_file: Database path (or alias name).
### Optional
param1, param2... are
| Name | Description | Default | Note |
| --- | --- | --- | --- |
| auth_plugin_name | Authentication plugin name. | Srp256 | Srp256/Srp/Legacy_Auth are available. |
| column_name_to_lower | Force column name to lower | false | For "github.com/jmoiron/sqlx" |
| role | Role name | | |
| timezone | Time Zone name | | For Firebird 4.0+ |
| wire_crypt | Enable wire data encryption or not. | true | For Firebird 3.0+ |
| charset | Firebird Charecter Set | | |
## GORM for Firebird
See https://github.com/flylink888/gorm-firebird