Erlang Firebird client library.
- Firebird 2.5 or higher
Simple query and fetch all results:
{ok, C} = efirebirdsql:connect(
"server", "username", "password", "/path/to/database", []),
ok = efirebirdsql:execute(C, <<"select * from foo">>),
{ok, Results} = efirebirdsql:fetchall(C).
Fetch one by one:
ok = efirebirdsql:execute(C, <<"select * from foo">>),
{ok, R1} = efirebirdsql:fetchone(C),
{ok, R2} = efirebirdsql:fetchone(C),
{ok, R3} = efirebirdsql:fetchone(C).
Separate start_link() and connect():
C = start_link(),
ok = efirebirdsql:connect(C,
"server", "username", "password", "/path/to/database", []),
Commit and rollback transaction:
{ok, C} = efirebirdsql:connect(
"server", "username", "password", "/path/to/database", [{auto_commit, false}]),
ok = efirebirdsql:execute(C, <<"update foo set column='A'">>),
ok = efirebirdsql:commit(),
ok = efirebirdsql:execute(C, <<"update foo set column='B'">>),
ok = efirebirdsql:rollback().
See also test/efirebirdsql_tests.erl
| Name | Comment | Default | Note |
|---|---|---|---|
| port | Port number | 3050 | |
| charset | Charset | utf_8 | |
| auto_commit | Autocommit flag | true | |
| auth_plugin | Authentication plugin name | "Srp" | Firebird 3.0+ |
| wire_crypt | Wire encryption flag | true | Firebird 3.0+ |