6.4 Multiple Database Connections
In the previous article we've seen how to configure a Zone in the server in order to connect to a database source.
This is done by adding simple XML tags in the main config.xml file, specifying all the necessary connection informations.
There's also a dynamic way of setting up a connection to a database server which allows to handle multiple data sources in your extensions.
» Creating new connections using code
The following is an example of server side Actionscript code that creates a new database connection:
function testDB()
{
var driverName = "org.gjt.mm.mysql.Driver"
var connString = "jdbc:mysql://localhost:3306/myDatabase"
var usrName = "login"
var pword = "password"
var connName = "myDbConnection"
var maxActive = 10
var maxIdle = 10
var exhaustedAction = "fail"
var blockTime = 5000
dbase2 = new __db.DbManager( driverName,
connString,
usrName,
pword,
connName,
maxActive,
maxIdle,
exhaustedAction,
blockTime
)
var sql = "SELECT nick,pass FROM users ORDER BY nick"
var queryRes = dbase2.executeQuery(sql)
// etc... etc...
}
The code is pretty straightforward: we prepare the necessary parameters to setup a connection (as seen in the previous article) and we pass them to the __db.DbManager constructor which returns a database manager object that can be used to interact with the database.
We recommend to create these connections once in the init() method of your extension and keeping a global reference to the database manager object returned.
The following is a simple example of how it should be done:
// Let's declare these variables in the global scope
// they will keep the reference to that databaseManager objects
var db1, db2
// Extension initialization method
function init()
{
// Add your initialization code here
// ...
// Set up the database connections
setupDbConnections()
// From now on, we can refere to db1 and db1 all over in our code.
}
// Create the connections
function setupDbConnections()
{
db1 = __db.DbManager( ... )
db2 = __db.DbManager( ... )
}
| doc index |