Difference between revisions of "Database Resource"

From PresenceWiki
Jump to: navigation, search
(Overriding values via variables)
(Overriding values via variables)
Line 57: Line 57:
 
We set the variables before an SQL Node
 
We set the variables before an SQL Node
  
  <b>${control.database.override}</b> If set to a Resource ID then the SQL Node will use the SQL Resource with this ID rather than its specified resource.
+
  <b>${control.database.override}</b> If set to a Resource ID then the SQL Node will this Resource rather than its specified resource.
 
    
 
    
 
  <b>${control.database.user}</b> SQL node will use this value for the username in the connection
 
  <b>${control.database.user}</b> SQL node will use this value for the username in the connection

Revision as of 16:43, 22 January 2010

Connection Details

In the Connection Details tab we specify the name of the resource and the driver class, which may need to be imported via the jar manager.

After this the we need the connection url which may or may not include the database name.

The properties file is if you wish to set the connection properties via a file,

for instance in the case shown, you could override the username and password by creating a file props.txt

user=admin
password=presadmin

Note, this tab also displays the internal Resource ID for this resource.

http://www.international-presence.com/images/docs/res/sql/sqlres_connectiondetails.png

A test of the connection should reveal:-

http://www.international-presence.com/images/docs/res/sql/sqlres_connected.png

Connection Pooling

Here you can tell Presence to "Re-use connection between queries" for this resource.

To create a new connection can be time consuming for the server, so this tells Presence to cache the connections and reuse them.

http://www.international-presence.com/images/docs/jdbc/pooling.png

Sometimes connections can be lost or dropped between calls, so it is advisable to specify a custom query.

Presence will first run this query on the retrieved connection to check that the connection is still valid.

Because of this the custom query should be just a small query on a small table.

This will be sufficient to let Presence know whether the connection for that resource still exists, before it uses it.

If the connection is broken then Presence will remove it from the cache and create a new one.

Global Password Update

As it is common to store the username and password in the SQL Node, rather than the Resource, the Global Password Update tab

provides a way to update the username and password for all SQL Nodes that use this SQL Resource.

http://www.international-presence.com/images/docs/res/sql/sqlres_passwordupdate.png


Overriding values via variables

Note it is also possible to override the username and password and even the SQL Resource for an SQL Node via presence variables, namely:-

http://www.international-presence.com/images/docs/res/sql/sqlres_vars.png

We set the variables before an SQL Node

${control.database.override} If set to a Resource ID then the SQL Node will this Resource rather than its specified resource.
 
${control.database.user} SQL node will use this value for the username in the connection

${control.database.password} SQL node will use this value for the password in the connection


For more info on how to connect to different types of database and how to aid connection pooling see Database Connectivity