Jazz Forum Welcome to the Jazz Community Forum Connect and collaborate with IBM Engineering experts and users

Cannot create jazz database tables - SQL Server

Hello,

We are trying to setup the RQM database tables using SQL Server for RQM version 3.0.1.

We downloaded the most recent jdbc driver and placed it in the $JazzInstallDirectory/server/sqlserver/

We updated the teamserver.properties file to point to the new database

We updated the server.startup file to poitn to the new jdbc driver.

When we run ./repotools-qm.sh -createTables we are getting the following output to the screen.


These 2 lines stand out to me from the screen output
CRJAZ1093I The following service class was not activated: "com.ibm.team.repository.service.internal.schemagen.PersistentMappingService"
CRJAZ1141I Cannot get the service "com.ibm.team.repository.service.internal.rdb.IDatabaseStateService".
CRJAZ1203I Could not determine the database location.



09:14:53,559 WARN ository.common.transport.AbstractElementDescriptor - The com.ibm.team.datawarehouse.service.rqm bundle's plugin.xml uses the component id "com.ibm.team.datawarehouse" as the prefix to a <configurationProperty> element's "name" attribute with the value "com.ibm.team.datawarehouse.service.rqm.configurationProperty1".
09:14:53,560 WARN ository.common.transport.AbstractElementDescriptor - The com.ibm.team.datawarehouse.service.rqm bundle's plugin.xml uses the component id "com.ibm.team.datawarehouse" as the prefix to a <configurationProperty> element's "name" attribute with the value "com.ibm.team.datawarehouse.service.rqm.configurationProperty1".
Repo Tools
Provisioning using "./conf/qm/provision_profiles".
Jazz Foundation - Core Libraries, Version 3.0.1 (RJF-I20110602-0017)
Quality Management - Core Libraries, Version 3.0.1 (I20110602_0806)

CRJAZ1363I Loading the configuration from "file:conf/qm/teamserver.properties".
CRJAZ1778I This server is configured as an application.
CRJAZ1781W The Public URI Root has not been set. Use the server setup wizard to enter the public URI. This property is required to enforce consistent URL management in the application. The public URI represents the URL that all clients must use to access the application.
CRJAZ1365I The server is attempting to connect to the following database: "//143.61.249.198:1433;databaseName=jazz;user=xxxxxxxx;password=xxxxxxxx;"
CRJAZ1364I The connection to the following database was successful:
Db Product Name: Microsoft SQL Server
Db Product Version: 10.00.4311
Db URL: jdbc:sqlserver://143.61.249.198:1433;databaseName=jazz;user=xxxxxxxx;password=xxxxxxxx;
Jdbc Driver Name: Microsoft SQL Server JDBC Driver 3.0
Jdbc Driver Version: 3.0.1301.101
CRJAZ1093I The following service class was not activated: "com.ibm.team.repository.service.internal.schemagen.PersistentMappingService"
CRJAZ1141I Cannot get the service "com.ibm.team.repository.service.internal.rdb.IDatabaseStateService".
CRJAZ1203I Could not determine the database location.
CRJAZ1306I The service "com.ibm.team.repository.service.internal.rdb.IDatabaseStateService" is not available.
Creating the tables for the database "//143.61.249.198:1433;databaseName=jazz;user=xxxxxxxx;password=xxxxxxxx;" with indices.
CRJAZ1141I Cannot get the service "com.ibm.team.repository.service.internal.rdb.IDatabaseCreationService".
CRJAZ1309I The database connectivity service is not ready.
The database tables were not created.

0 votes



9 answers

Permanent link
We are using db version --- Sql server 2008 R2

Hello,

We are trying to setup the RQM database tables using SQL Server for RQM version 3.0.1.

We downloaded the most recent jdbc driver and placed it in the $JazzInstallDirectory/server/sqlserver/

We updated the teamserver.properties file to point to the new database

We updated the server.startup file to poitn to the new jdbc driver.

When we run ./repotools-qm.sh -createTables we are getting the following output to the screen.


These 2 lines stand out to me from the screen output
CRJAZ1093I The following service class was not activated: "com.ibm.team.repository.service.internal.schemagen.PersistentMappingService"
CRJAZ1141I Cannot get the service "com.ibm.team.repository.service.internal.rdb.IDatabaseStateService".
CRJAZ1203I Could not determine the database location.



09:14:53,559 WARN ository.common.transport.AbstractElementDescriptor - The com.ibm.team.datawarehouse.service.rqm bundle's plugin.xml uses the component id "com.ibm.team.datawarehouse" as the prefix to a <configurationProperty> element's "name" attribute with the value "com.ibm.team.datawarehouse.service.rqm.configurationProperty1".
09:14:53,560 WARN ository.common.transport.AbstractElementDescriptor - The com.ibm.team.datawarehouse.service.rqm bundle's plugin.xml uses the component id "com.ibm.team.datawarehouse" as the prefix to a <configurationProperty> element's "name" attribute with the value "com.ibm.team.datawarehouse.service.rqm.configurationProperty1".
Repo Tools
Provisioning using "./conf/qm/provision_profiles".
Jazz Foundation - Core Libraries, Version 3.0.1 (RJF-I20110602-0017)
Quality Management - Core Libraries, Version 3.0.1 (I20110602_0806)

CRJAZ1363I Loading the configuration from "file:conf/qm/teamserver.properties".
CRJAZ1778I This server is configured as an application.
CRJAZ1781W The Public URI Root has not been set. Use the server setup wizard to enter the public URI. This property is required to enforce consistent URL management in the application. The public URI represents the URL that all clients must use to access the application.
CRJAZ1365I The server is attempting to connect to the following database: "//143.61.249.198:1433;databaseName=jazz;user=xxxxxxxx;password=xxxxxxxx;"
CRJAZ1364I The connection to the following database was successful:
Db Product Name: Microsoft SQL Server
Db Product Version: 10.00.4311
Db URL: jdbc:sqlserver://143.61.249.198:1433;databaseName=jazz;user=xxxxxxxx;password=xxxxxxxx;
Jdbc Driver Name: Microsoft SQL Server JDBC Driver 3.0
Jdbc Driver Version: 3.0.1301.101
CRJAZ1093I The following service class was not activated: "com.ibm.team.repository.service.internal.schemagen.PersistentMappingService"
CRJAZ1141I Cannot get the service "com.ibm.team.repository.service.internal.rdb.IDatabaseStateService".
CRJAZ1203I Could not determine the database location.
CRJAZ1306I The service "com.ibm.team.repository.service.internal.rdb.IDatabaseStateService" is not available.
Creating the tables for the database "//143.61.249.198:1433;databaseName=jazz;user=xxxxxxxx;password=xxxxxxxx;" with indices.
CRJAZ1141I Cannot get the service "com.ibm.team.repository.service.internal.rdb.IDatabaseCreationService".
CRJAZ1309I The database connectivity service is not ready.
The database tables were not created.

0 votes


Permanent link
Hi,
Any reason you're using the 3.0 driver instead of 2.0?
Please refer to: https://www-304.ibm.com/support/docview.wss?uid=swg21432535

0 votes


Permanent link
According to the help you need to create a system variable:

If you are connecting to your SQL Server database using WebSphere Application Server with JRE 6.0 or if you want to configure your Tomcat server to use Java Runtime Environment 6.0, perform the following steps:

Set the SQLSERVER_JDBC_DRIVER_FILE variable to point to the JRE 6.0 version of the JDBC driver named sqljdbc4.jar. This driver can be installed in a directory of your choice on the application server.
Set both repotools-jts.bat and repotools-<application>.bat to point to the new JRE. Open each file, search for set JAVA, and replace it with the path to the alternate JVM. For example, set JAVA=<Path>/jre/bin/java.

If you are connecting to your SQL Server database using WebSphere Application Server with JRE 5.0 or the packaged Tomcat, perform the following step:

Set the SQLSERVER_JDBC_DRIVER_FILE variable to point to the JRE 5.0 version of the JDBC driver named sqljdbc.jar. This driver can be installed in a directory of your choice on the application server.

Note: To avoid problems, do not use spaces in file paths. For the Program Files directory on 32-bit systems, you can use PROGRA~1. For the Program Files (x86) directory on 64-bit systems, you can use PROGRA~2.

0 votes


Permanent link
Hi,

Which file does that SQLSERVER_JDBC_DRIVER_FILE variable go in?

server.startup? teamserver.properties?

Thanks in advance.

According to the help you need to create a system variable:

If you are connecting to your SQL Server database using WebSphere Application Server with JRE 6.0 or if you want to configure your Tomcat server to use Java Runtime Environment 6.0, perform the following steps:

Set the SQLSERVER_JDBC_DRIVER_FILE variable to point to the JRE 6.0 version of the JDBC driver named sqljdbc4.jar. This driver can be installed in a directory of your choice on the application server.
Set both repotools-jts.bat and repotools-<application>.bat to point to the new JRE. Open each file, search for set JAVA, and replace it with the path to the alternate JVM. For example, set JAVA=<Path>/jre/bin/java.

If you are connecting to your SQL Server database using WebSphere Application Server with JRE 5.0 or the packaged Tomcat, perform the following step:

Set the SQLSERVER_JDBC_DRIVER_FILE variable to point to the JRE 5.0 version of the JDBC driver named sqljdbc.jar. This driver can be installed in a directory of your choice on the application server.

Note: To avoid problems, do not use spaces in file paths. For the Program Files directory on 32-bit systems, you can use PROGRA~1. For the Program Files (x86) directory on 64-bit systems, you can use PROGRA~2.

0 votes


Permanent link
The "happy path" is to just put the driver in \sqlserver. Then you don't need to muck with any scripts or env variables.

If that is not an option and you are starting the server from the command line, then just added it to the server.startup and repotools scripts. You'll find references to the driver path in there already, for instance (taken from repotools-qm,bat):
rem The following four environment variables (*_ABSPATH) are used to point to a

rem directory that contains the appropriate JDBC jar file supplied by the
rem database vendor. Users may set these variables; if they are set, the script
rem will respect their value. If they are unset, we look in a directory under
rem <JazzInstallDir>/server by default. (For example, the default location for
rem the Oracle JDBC driver is under <JazzInstallDir>/server/oracle).


Hi,

Which file does that SQLSERVER_JDBC_DRIVER_FILE variable go in?

server.startup? teamserver.properties?

Thanks in advance.

0 votes


Permanent link
Hi John,

Thanks for the quick reply. I believe that your answer is saying: Go into the respective ".bat" file (i.e., repotools-qm.bat) and add the location (or change the current location of the JDBC driver). That is, if the JDBC driver is located under C:\JDBC, add a line in the section regarding the SQL JDBC Driver file, as shown below, under the one that I commented out:

if "%SQLSERVER_ABSPATH%"=="" goto :default_sqlserver
set DEFINE=%DEFINE% -DSQLSERVER_JDBC="%SQLSERVER_ABSPATH%"
goto :after_sqlserver
:default_sqlserver
rem set DEFINE=%DEFINE% -DSQLSERVER_JDBC="%START_DIR%\sqlserver"
set DEFINE=%DEFINE% -DSQLSERVER_JDBC=C:\JDBC <-- this is the new line
:after_sqlserver
if "%SQLSERVER_JDBC_DRIVER_FILE%"=="" goto :after_sqlserver_2
set DEFINE=%DEFINE% -DSQLSERVER_JDBC_DRIVER_FILE="%SQLSERVER_JDBC_DRIVER_FILE%"
:after_sqlserver_2

An alternative to this would be to just create a new folder named "sqlserver" under the <InstallDir> and place the driver under it.

Either way is simple enough to do.

-Walter

The "happy path" is to just put the driver in \sqlserver. Then you don't need to muck with any scripts or env variables.

If that is not an option and you are starting the server from the command line, then just added it to the server.startup and repotools scripts. You'll find references to the driver path in there already, for instance (taken from repotools-qm,bat):
rem The following four environment variables (*_ABSPATH) are used to point to a

rem directory that contains the appropriate JDBC jar file supplied by the
rem database vendor. Users may set these variables; if they are set, the script
rem will respect their value. If they are unset, we look in a directory under
rem <JazzInstallDir>/server by default. (For example, the default location for
rem the Oracle JDBC driver is under <JazzInstallDir>/server/oracle).


Hi,

Which file does that SQLSERVER_JDBC_DRIVER_FILE variable go in?

server.startup? teamserver.properties?

Thanks in advance.

0 votes


Permanent link
Hi John,

Thanks for the quick reply. I believe that your answer is saying: Go into the respective ".bat" file (i.e., repotools-qm.bat) and add the location (or change the current location of the JDBC driver). That is, if the JDBC driver is located under C:\JDBC, add a line in the section regarding the SQL JDBC Driver file, as shown below, under the one that I commented out:

if "%SQLSERVER_ABSPATH%"=="" goto :default_sqlserver
set DEFINE=%DEFINE% -DSQLSERVER_JDBC="%SQLSERVER_ABSPATH%"
goto :after_sqlserver
:default_sqlserver
rem set DEFINE=%DEFINE% -DSQLSERVER_JDBC="%START_DIR%\sqlserver"
set DEFINE=%DEFINE% -DSQLSERVER_JDBC=C:\JDBC <-- this is the new line
:after_sqlserver
if "%SQLSERVER_JDBC_DRIVER_FILE%"=="" goto :after_sqlserver_2
set DEFINE=%DEFINE% -DSQLSERVER_JDBC_DRIVER_FILE="%SQLSERVER_JDBC_DRIVER_FILE%"
:after_sqlserver_2

An alternative to this would be to just create a new folder named "sqlserver" under the <InstallDir> and place the driver under it.

Either way is simple enough to do.

-Walter

The "happy path" is to just put the driver in \sqlserver. Then you don't need to muck with any scripts or env variables.

If that is not an option and you are starting the server from the command line, then just added it to the server.startup and repotools scripts. You'll find references to the driver path in there already, for instance (taken from repotools-qm,bat):
rem The following four environment variables (*_ABSPATH) are used to point to a

rem directory that contains the appropriate JDBC jar file supplied by the
rem database vendor. Users may set these variables; if they are set, the script
rem will respect their value. If they are unset, we look in a directory under
rem <JazzInstallDir>/server by default. (For example, the default location for
rem the Oracle JDBC driver is under <JazzInstallDir>/server/oracle).


Hi,

Which file does that SQLSERVER_JDBC_DRIVER_FILE variable go in?

server.startup? teamserver.properties?

Thanks in advance.

0 votes


Permanent link
I'm having the exact same problem with RTC 3.5M1

MS SQL JDBC drivers 3.0 installed in <JazzInstallDir>/server/sqlserver, so no changes to the repotools or server startup scripts.

I've created the databases and users using SQL Management Studio. The initial connection succeeds, then the errors start:

CRJAZ1093I The following service class was not activated: "com.ibm.team.repository.service.internal.schemagen.PersistentMappingService"

CRJAZ1141I Cannot get the service "com.ibm.team.repository.service.internal.rdb.IDatabaseStateService".
CRJAZ1203I Could not determine the database location.
CRJAZ1306I The service "com.ibm.team.repository.service.internal.rdb.IDatabaseStateService" is not available.
Creating the tables for the database "//localhost:1433;databaseName=jts;user=xxxxxxxx;password=xxxxxxxx;" with indices.
CRJAZ1141I Cannot get the service "com.ibm.team.repository.service.internal.rdb.IDatabaseCreationService".
CRJAZ1309I The database connectivity service is not ready.
The database tables were not created.


I know it's using the JDBC driver because if I rename it it doesn't even get this far.

I've also succesfully logged into the jts database as jtsDBuser usnig SQL Management Studio (but as the first login in the repotools script succeeds I wasn't surprised).

0 votes


Permanent link
In my case an investigation of the logs revealed a JDBC exception trying to perform an INTERSECT with the Jazz databases and the master database.

The instructions for 3.5M1 that the SQL Server "is installed with case sensitive database collation selected as default" do not fully specify the collation required when the install of SQL Server is performed. Selecting the case sensitive collation checkbox during SQL Server install gives Latin1_General_CS_AS collation on the master database, which gives rise to the JDBC error.

During install the SQL Server collation must be set to SQL_Latin1_General_CP437_CS_AS.

0 votes

Your answer

Register or log in to post your answer.

Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.

Search context
Follow this question

By Email: 

Once you sign in you will be able to subscribe for any updates here.

By RSS:

Answers
Answers and Comments
Question details

Question asked: Jul 27 '11, 9:30 a.m.

Question was seen: 12,192 times

Last updated: Jul 27 '11, 9:30 a.m.

Confirmation Cancel Confirm