This documentation is for WSO2 ESB version 4.5.0. View documentation for the latest release.

Setting up with MS SQL

Follow the instructions below to set up the MS SQL database.



Setup Database and User

Enable TCP/IP

1. Open "SQL Server Configuration Manager" from Start Programs Microsoft SQL Server 2005 Configuration Tools SQL Server Configuration Manager.

2. Enable "TCP/IP" and disable "Named Pipes" from protocols of your MSSQL server.

3. Open TCP/IP Properties by double clicking "TCP/IP." Set "Listen All" to "Yes" in the "Protocol" tab.

4. From the "IP Address" tab, disable "TCP Dynamic Ports" by leaving it blank and give a valid "TCP Port" so that MSSQL server will listen in that port.

Tip

You can use port 1433 in order processor services, so it is better to use that port.

5. Similarly, enable TCP/IP from "SQL Native Client Configuration" and disable "Named Pipes." Also, check whether the port is set correctly. Port should be 1433.

6. Restart MSSQL Server.

Create Database and User

1. Open "MSSQL Management Studio" to create a database and user.

2. Go to Database New Database and specify all the options to create a new database.

3. Go to Logins New Login and specify all the necessary options.

Grant Permission

Give required grants/permission to newly created user. Grant should allow newly created user to login, create tables, insert data to tables in newly created database.

Setup Configuration File

1. Edit the default database configuration defined in the  master-datasources.xml  file located at  $CARBON_HOME/repository/conf/datasources  directory as below. Both the database configurations in  registry.xml  and  user-mgt.xml  refer this data source.

You have to replace these settings with your custom values.

<datasource>
    <name>WSO2_CARBON_DB</name>
    <description>The datasource used for registry and user manager</description>
    <jndiConfig>
           <name>jdbc/WSO2CarbonDB</name>
    </jndiConfig>
    <definition type="RDBMS">
           <configuration>
                <url>jdbc:jtds:sqlserver://10.100.3.251:1433/wso2greg</url>
                <username>regadmin</username>
                <password>regadmin</password>
                <driverClassName>net.sourceforge.jtds.jdbc.Driver</driverClassName>
                <maxActive>80</maxActive>
                <maxWait>60000</maxWait>
                <minIdle>5</minIdle>
                <testOnBorrow>true</testOnBorrow>
                <validationQuery>SELECT 1</validationQuery>
                <validationInterval>30000</validationInterval>
           </configuration>
    </definition>
</datasource>

The database configuration options

  • url - The URL of the database.
  • username - The name of the database user.
  • password - The password of the database user.
  • driverClassName - The class name of the database driver.
  • maxActive - The maximum number of active connections that can be allocated from this pool at the same time or negative for no limit.
  • maxWait - The maximum number of milliseconds that the pool will wait (when there are no available connections) for a connection to be returned before throwing an exception, or <= 0 to wait indefinitely.
  • minIdle - The minimum number of active connections that can remain idle in the pool without extra ones being created or 0 to create none.

Tip

Default port for MSSQL is 1433.

Copy JDBC Driver

Copy MSSQL JDBC driver jtds-1.2.2.jar to $CARBON_HOME/repository/components/lib.

Tip

JDBC driver can be downloaded from http://sourceforge.net/projects/jtds/files/

Create Database Tables

Database tables can be created either manually by running scripts or automatically by using start-up parameters.

  • Using Scripts

Database tables can be created manually by logging in to created database and running $CARBON_HOME/dbscripts/mssql.sql.

  • Using start-up Parameters

Windows users can run $CARBON_HOME/bin/wso2server.bat -Dsetup to create the database tables when starting WSO2 ESB for the first time.

Linux users should use $CARBON_HOME/bin/wso2server.sh -Dsetup.