Move the MashZone NextGen repository to Microsoft SQL Server

Procedure

  1. If you are using your LDAP Directory as the MashZone NextGen User Repository, ensure that at least one user in your LDAP Directory has administrator privileges for MashZone NextGen before you move the MashZone NextGen Repository. For details, see the chapter Start MashZone NextGen with an initial administrator user.

    When the MashZone NextGen User Repository is your LDAP Directory, the default administrator account (Administrator user) is disabled.

  2. If you are hosting the MashZone NextGen Repository or MashZone Repository in a new database, create the database following SQL Server documentation. Keep the following points in mind:

    Make sure this database is supported by MashZone NextGen. See Additional MashZone NextGen System and Software Requirements for details.

    The jTDS driver and the original Microsoft driver are available for Microsoft SQL Server. You must make different settings depending on the driver type selected. For details see the following steps.

    If you want MashZone NextGen to support international characters in meta-data for artifacts, make sure the database uses the UTF-16 character encoding and case insensitive collation. See documentation for your database for specific instructions.

    It is a best practice to require passwords for every database account that can access the MashZone NextGen Repository.

    If you do not use the default dbo schema, you have to specify the name of the used schema (value="schema_name" ) in the bean PMF in the rdsApplicationContext.xml file.

    The file is located in <MashZone NextGen installation>\apache-tomcat\webapps\mashzone\WEB-INF\classes\.

    <bean id="pmf" class="com.jackbe.jbp.sas.rds.impl.jdo .PersistenceManagerFactoryBean"> <property name="lifecycleListener" ref="entityLifecycleLsnr"/> <property name="dataSource" ref="dataSource" /> <property name="configLocation" value="classpath:datanucleus.properties"/> <!-- overwrite settings in configLocation file --> <property name="jdoProperties"> <map> <entry key="datanucleus.ConnectionFactoryName" value="java:comp/env/MashzoneNextGenRepository"/> <entry key="datanucleus.storeManagerType" value="rdbms"/> <entry key="datanucleus.mapping.Schema" value="schema_name"/> </map> </property> </bean>

  3. Start the database that will become host to the MashZone NextGen Repository, if it is not already up.
  4. Copy the JAR file for the JDBC driver for your database to the following folder for each MashZone NextGen Server that uses this MashZone NextGen Repository:

    MashZoneNG-install/apache-tomcat/lib

  5. Replace the JAR for the MashZone NextGen Repository:
    1. Remove the web-apps-home/mashzone/WEB-INF/lib/jackbe-presto-rds-postgresql-derby.jar JAR file for each MashZone NextGen Server that uses this MashZone NextGenMashZone NextGen Repository. You can delete this JAR or simply move it to a folder that is not in the classpath for the application server that hosts MashZone NextGen.
    2. Copy this JAR file:

      MashZoneNG-install/prestorepository/jackbe-presto-rds-oracle-mysql-mssql.jar

      To the web-apps-home/mashzone/WEB-INF/lib folder.

  6. Open the MashZoneNG-install/apache-tomcat/conf/context.xml configuration file in the text editor of your choice.
  7. For the MashZone NextGen Repository, edit the <Resource> element with an ID of MashzoneNextGenRepository and:
    1. Update the JDBC driver, URL and credential properties:

      Example for jTDS driver

      <Resource name="MashzoneNextGenRepository" auth="Container" type="javax.sql.DataSource" maxTotal="200" maxIdle="30" maxWaitMillis="10000" username="app" password="app" driverClassName="net.sourceforge.jtds.jdbc.Driver" url="jdbc:jtds:sqlserver://host-name:port/database" />

      The JTA managed property must be false.

      Example for original Microsoft driver

      <Resource name="MashzoneNextGenRepository" auth="Container" type="javax.sql.DataSource" maxTotal="200" maxIdle="30" maxWaitMillis="10000" username="app" password="app" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="jdbc:sqlserver://host-name:port;databaseName=your_database" />

    2. If needed, update optional properties. See the official

      Tomcat Datasource Properties

      for a complete list of optional properties and information on defaults.

      Some common properties you may need to set include:

      validationQuery = select 1

      Common tuning properties for connections pools. See Tuning the MashZone NextGen Repository Connection Pool.

  8. Save your changes to this file.

    If the MashZone NextGen Server does not start up successfully, see Troubleshooting Connections to the MashZone NextGen Repository for suggestions.

  9. Restart the MashZone NextGen Server to apply these changes.

    If the MashZone NextGen Server does not start up successfully, see Troubleshooting Connections to the MashZone NextGen Repository for suggestions.