firebirdsql

by nakagami

nakagami / firebirdsql

Firebird RDBMS sql driver for Go (golang)

135 Stars 39 Forks Last release: Not found MIT License 597 Commits 3 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

======================================

firebirdsql (Go firebird sql driver)

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

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

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:[email protected]/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:[email protected]/foo/bar.fdb" events := []string{"myevent", "ordercreated"} 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:[email protected][:portnumber]/databasenameorfile[?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.
  • databasenameor_file: Database path (or alias name).

Optional

param1, param2... are

.. csv-table:: :header: Name,Description,Default,Note

authpluginname,Authentication plugin name.,Srp,Srp256/Srp/LegacyAuth are available. columnnametolower,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,

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.