github.com/nakagami/firebirdsql@v0.9.10/README.md (about) 1 # firebirdsql (Go firebird sql driver) 2 3 Firebird RDBMS https://firebirdsql.org SQL driver for Go 4 5 ## Requirements 6 7 * Firebird 2.5 or higher 8 * Golang 1.18 or higher 9 10 ## Example 11 12 ```go 13 package main 14 15 import ( 16 "fmt" 17 "database/sql" 18 _ "github.com/nakagami/firebirdsql" 19 ) 20 21 func main() { 22 var n int 23 conn, _ := sql.Open("firebirdsql", "user:password@servername/foo/bar.fdb") 24 defer conn.Close() 25 conn.QueryRow("SELECT Count(*) FROM rdb$relations").Scan(&n) 26 fmt.Println("Relations count=", n) 27 28 } 29 ``` 30 31 32 See also driver_test.go 33 34 ```go 35 package main 36 37 import ( 38 "fmt" 39 "github.com/nakagami/firebirdsql" 40 ) 41 42 func main() { 43 dsn := "user:password@servername/foo/bar.fdb" 44 events := []string{"my_event", "order_created"} 45 fbEvent, _ := firebirdsql.NewFBEvent(dsn) 46 defer fbEvent.Close() 47 sbr, _ := fbEvent.Subscribe(events, func(event firebirdsql.Event) { //or use SubscribeChan 48 fmt.Printf("event: %s, count: %d, id: %d, remote id:%d \n", event.Name, event.Count, event.ID, event.RemoteID) 49 }) 50 defer sbr.Unsubscribe() 51 go func() { 52 fbEvent.PostEvent(events[0]) 53 fbEvent.PostEvent(events[1]) 54 }() 55 <- make(chan struct{}) //wait 56 } 57 ``` 58 59 See also _example 60 61 ## Connection string 62 63 ```bash 64 user:password@servername[:port_number]/database_name_or_file[?params1=value1[¶m2=value2]...] 65 ``` 66 67 68 ### General 69 70 - user: login user 71 - password: login password 72 - servername: Firebird server's host name or IP address. 73 - port_number: Port number. default value is 3050. 74 - database_name_or_file: Database path (or alias name). 75 76 ### Optional 77 78 param1, param2... are 79 80 | Name | Description | Default | Note | 81 | --- | --- | --- | --- | 82 | auth_plugin_name | Authentication plugin name. | Srp256 | Srp256/Srp/Legacy_Auth are available. | 83 | column_name_to_lower | Force column name to lower | false | For "github.com/jmoiron/sqlx" | 84 | role | Role name | | | 85 | timezone | Time Zone name | | For Firebird 4.0+ | 86 | wire_crypt | Enable wire data encryption or not. | true | For Firebird 3.0+ | 87 | charset | Firebird Charecter Set | | | 88 89 ## GORM for Firebird 90 91 See https://github.com/flylink888/gorm-firebird