Reference | Help | Introduction | Slide Show | Class Hierarchy | InterClient
PREV | NEXT | FRAMES | NO FRAMES |  |

## Opening a Database Connection

After loading the driver (or explicitly creating one), you can open a connection to the database. There are two ways to do this: with the DriverManager's getConnection() method or the driver object's connect() method.

### Using the DriverManager to Get a Connection

When you want to access a database, you can get a java.sql.Connection object from the JDBC management layer's java.sql.DriverManager.getConnection() method. The getConnection() method takes a URL string and a java.util.Properties object as arguments. For each connection request, the DriverManager uses the URL to locate a driver that can connect to the database represented by the URL. If the connection is successful, a java.sql.Connection object is returned. The following example shows the syntax for establishing a database connection:

    Class.forName ("interbase.interclient.Driver");
    Connection c = DriverManager.getConnection (url,properties);

The Connection object in turn provides access to all of the InterClient classes and methods that allow you to execute SQL statements and get back the results.

### Defining Connection Parameters

The arguments to connect() or getConnection() must be defined before trying to create the connection. They are the database URL and the connection properties.

#### Syntax for Specifying Database URLs

InterClient follows the JDBC standard for specifying databases using URLs. The JDBC URL standard provides a framework so that different drivers can use different naming systems that are appropriate for their own needs. Each driver only needs to understand its own URL naming syntax; it can reject any other URLs that it encounters. A JDBC URL is structured as follows:

    jdbc:subprotocol:subname

The subprotocol names a particular kind of database connection, which is in turn supported by one or more database drivers. The DriverManager decides which driver to use based on which subprotocol is registered for each driver. The contents and syntax of subname in turn depend upon the subprotocol. If the network address is included in the subname, the naming convention for the subname is:

    //hostname:/subsubname

subsubname can have any arbitrary syntax.

#### Defining an InterClient URL

InterClient URLs have the following format:

    jdbc:interbase://server/full_db_path

"interbase" is the subprotocol, and server is the hostname of the InterBase server. Full_db_path (i.e., "subsubname") is the full pathname of a database file, including the server's root (/) directory. If the InterBase server is a Windows NT system, you must include the drive name as well. InterClient doesn't support passing any attributes in the URL. For local connections, use:

    server = "localhost"

Note: The "/" between the server and full_db_path is treated as a delimiter only. When specifying the path for a Unix-based database, you must include the initial "/" for the root directory in addition to the "/" for the delimiter.

#### Examples

For example, with a Unix-based database, the URL

    dbURL = "jdbc:interbase://accounts//dbs/orders.gdb"

refers to the database "orders.gdb" in the directory "/dbs" on the Unix server "accounts."

The URL

    dbURL = "jdbc:interbase://support/C:/dbs/customer.gdb"

refers to the database "customer.gdb" in the directory "/dbs" on drive C of the Wings or Win95 or NT server "support."

#### Defining the Connection Properties

Connection properties must also be defined before trying to open a database connection. To do this, you pass in a java.util.Properties object, which maps between tag strings and value strings. Two typical properties are "user" and "password." First, create the Properties object:

    java.util.Properties properties = new java.util.Properties();

Now create the connection arguments. user and password are either literal strings or string variables. They must be the username and password on the InterBase database that you are connecting to:

    properties.put ("user", user);

    properties.put ("password", password);

Now create the connection with the URL and connection properties parameters:

    Connection c = DriverManager.getConnection(url, properties);

### Security

Client applications use standard database user name and password verification to access an InterBase database. InterClient encrypts the user name and password for transmission over the network.

For further details on establishing connections, refer to the InterClient examples directory.

Reference | Help | Introduction | Slide Show | Class Hierarchy | InterClient
PREV | NEXT | FRAMES | NO FRAMES |  |

Send comments or suggestions to interclient@interbase.com