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[&param2=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