Skip to content
master
Go to file
Code

Latest commit

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.rst

firebirdsql (Go firebird sql driver)

Firebird RDBMS http://firebirdsql.org SQL driver for Go

https://travis-ci.org/nakagami/firebirdsql.svg?branch=master

Requirements

  • Firebird 2.5 or higher
  • Golang 1.7 or higher

Modules get (go version < 1.11)

$ go get github.com/cznic/mathutil
$ go get github.com/kardianos/osext
$ go get github.com/shopspring/decimal
$ go get github.com/nakagami/firebirdsql
$ go get gitlab.com/nyarla/go-crypt
$ go get golang.org/x/text

Example

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

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

user:password@servername[:port_number]/database_name_or_file[?params1=value1[&param2=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. Srp Srp256/Srp/Legacy_Auth are available.
column_name_to_lower Force column name to lower false For "github.com/jmoiron/sqlx"
role Role name    
tzname Time Zone name For Firebird 4.0+  
wire_crypt Enable wire data encryption or not. true For Firebird 3.0+
charset Firebird Charecter Set    

About

Firebird RDBMS sql driver for Go (golang)

Resources

License

You can’t perform that action at this time.