[ library(dbi) | Reference Manual | Alphabetic Index ]
session_start(++Login, ++Password, ++Options, -Session)
starts a new session for the DBMS
- DBMS login: ID or ID@Host. (ID,Host: string or atom)
- Password (string or atom)
- Options (list or nil)
- Session handle
Starts a new session with the DBMS. A new connection with the DBMS server is
established, with the supplied DBMS user ID. Optionally, a host could be
supplied, if the server is located on a remote machine. The host could be
either the machine name, or an IP address. A session handle for this new
connection is returned by the predicate.
The session is closed automatically if the program backtracks or aborts back
beyond this call.
Options is a (possibly empty) list of Option:Value pairs, specifying any
options for this session. The following options are supported:
- Specifies the name of the database to use. Value can be a
string or an atom. The same effect can also be achieved by issuing the
SQL statement USE ... (where ... is the dbname).
- (MySQL specific) specifies the default storage model to use for
the tables. Value can be either the string/atom transactional
or non-transactional. For transactional tables, changes are
local until they are committed. Uncommitted changes can be rollback.
For non-transactional tables, changes are global. InnoDB (with autocommit
turned off) is the storage engine used for transactional, and MyISAM is
the storage engine used for non-transactional. See the MySQL manual for
details on storage engines and their effect on tables.
- (5) type error
- Login, Password or Options not of the correct type.
- (6) out of range
- Invalid option specification in Options.
- Problems with Option's argument.
- Problems connecting to DBMS server.
% connecting to a database server running on the local machine, as
% database user sqluser with password password
session_start("sqluser", "password", , S).
% connecting to a database server running on machine my.sql.host,
% as database user sqluser with password password, and selecting
% to use the database mydb
session_start(email@example.com, password, [dbame:"mydb"], S).
session_close / 1