2.1 Connection management
AllApplicationManualNameSummaryHelp

  • Documentation
    • Reference manual
    • Packages
      • SWI-Prolog ODBC Interface
        • The ODBC layer
          • Connection management
            • odbc_connect/3
            • odbc_driver_connect/3
            • odbc_disconnect/1
            • odbc_current_connection/2
            • odbc_set_connection/2
            • odbc_get_connection/2
            • odbc_data_source/2
Availability::- use_module(library(odbc)).(can be autoloaded)
odbc_connect(+DSN, -Connection, +Options)
Create a new ODBC connection to data-source DSN and return a handle to this connection in Connection. The connection handle is either an opaque structure or an atom of the alias option is used. In addition to the options below, options applicable to odbc_set_connection/2 may be provided.
user(User)
Define the user-name for the connection. This option must be present if the database uses authorization.
password(Password)
Provide a password for the connection. Normally used in combination with user(User).
alias(AliasName)
Use AliasName as Connection identifier, making the connection available as a global resource. A good choice is to use the DSN as alias.
open(OpenMode)
If OpenMode is once (default if an alias is provided), a second call to open the same DSN simply returns the existing connection. If multiple (default if there is no alias name), a second connection to the same data-source is opened.
mars(+Bool)
If true, use Microsoft SQL server 2005 mars mode. This is support for multiple concurrent statements on a connection without requiring the dynamic cursor (which incurs an astounding 20-50x slowdown of query execution!!). MARS is a new feature in SQL2k5 apparently, and only works if you use the native driver. For the non-native driver, specifying that it is enabled will have absolutely no effect.
odbc_version(+Atom)
Select the version of the ODBC connection. Default is '3.0'. The other supported value is '2.0'.

The following example connects to the WordNet1An SQL version of WordNet is available from http://wordnet2sql.infocity.cjb.net/ [1] database, using the connection alias wordnet and opening the connection only once:

open_wordnet :-
        odbc_connect('WordNet', _,
                     [ user(jan),
                       password(xxx),
                       alias(wordnet),
                       open(once)
                     ]).