Skip to main content

Cognos-setup.bat error

When we run cognos-setup.bat, cognos-configure.bat cognos-setup-update.bat or cognos-configure-update.bat script we could get this type of error


E:\INSTALL\Cognos\win32\issetup.exe
Using cognos.locale: EN
All properties provided for Cognos database
All properties provided for Metrics database
com.ibm.net.SocketKeepAliveParameters
JDBC Connection Success
Success to verify the JDBC connection to Cognos Content Store database. 
'-classpath' is not recognized as an internal or external command, operable program or batch file.
Failed to verify the JDBC connection to Metrics database. Please check the error message.
Validation failed, unable to continue setup

By disabling the echo off at the beginning of batch script, we see that variables do not get correctly populated. Let's open any one of these files


REM Validate the JDBC connection.
SET was=%was.install.path%
SET java="%was%\java\bin\java.exe"
SET JAR_HOME=%cognosSetupScriptPath_%BI-Customization\JDBC\*

PUSHD %cognosSetupScriptPath_%lib
SET cp=.;"%CD%\*";"%JAR_HOME%"
POPD

REM Validate the JDBC connection to Cognos Content Store database
SETLOCAL ENABLEDELAYEDEXPANSION
    set "java_PATH=!java!"
FOR /F "tokens=*" %%j IN ('"!java_PATH! -classpath %cp% com.ibm.connections.metrics.cognos.install.CognosDBJDBCConnectionVerifer %cognos.db.type% %cognos.db.host% %cognos.db.name% %cognos.db.user% %cognos.db.password%"') DO (
ENDLOCAL
IF "%%j" == "JDBC Connection Success" SET cognosjdbcconnection=true
CALL :log %%j
)
IF NOT "%cognosjdbcconnection%" == "true" (
CALL :log Failed to verify the JDBC connection to Cognos Content Store database. Please check the error message.
EXIT /b 1
)
CALL :log Success to verify the JDBC connection to Cognos Content Store database.

REM Validate the JDBC connection to Metrics database
SETLOCAL ENABLEDELAYEDEXPANSION
    set "java_PATH=!java!"
FOR /F "tokens=*" %%j IN ('"!java_PATH! -classpath %cp% com.ibm.connections.metrics.cognos.install.MetricsDBJDBCConnectionVerifer %metrics.db.type% %metrics.db.host% %metrics.db.name% %metrics.db.user% %metrics.db.password%"') DO (
ENDLOCAL
IF "%%j" == "JDBC Connection Success" SET metricsjdbcconnection=true
CALL :log %%j
)
IF NOT "%metricsjdbcconnection%" == "true" (
CALL :log Failed to verify the JDBC connection to Metrics database. Please check the error message.
EXIT /b 1
)


For some reason, variables get lost after being succesfully validated for Cognos Connections. A simple but sturdy solution is to repopulate the variable before the Metrics Connections get validated


REM Validate the JDBC connection to Cognos Content Store database
SETLOCAL ENABLEDELAYEDEXPANSION
    set "java_PATH=!java!"
FOR /F "tokens=*" %%j IN ('"!java_PATH! -classpath %cp% com.ibm.connections.metrics.cognos.install.CognosDBJDBCConnectionVerifer %cognos.db.type% %cognos.db.host% %cognos.db.name% %cognos.db.user% %cognos.db.password%"') DO (
ENDLOCAL
IF "%%j" == "JDBC Connection Success" SET cognosjdbcconnection=true
CALL :log %%j
)
IF NOT "%cognosjdbcconnection%" == "true" (
CALL :log Failed to verify the JDBC connection to Cognos Content Store database. Please check the error message.
EXIT /b 1
)
CALL :log Success to verify the JDBC connection to Cognos Content Store database.

REM Validate the JDBC connection to Metrics database

REM BEGIN ADDED PROPERTY FOR SCRIPT EXECUTION ******
SET was=%was.install.path%
SET java="%was%\java\bin\java.exe"
SET JAR_HOME=%cognosSetupScriptPath_%BI-Customization\JDBC\*

PUSHD %cognosSetupScriptPath_%lib
SET cp=.;"%CD%\*";"%JAR_HOME%"
REM END OF ADDED PROPERTY FOR SCRIPT EXECUTION *******

SETLOCAL ENABLEDELAYEDEXPANSION
    set "java_PATH=!java!"
FOR /F "tokens=*" %%j IN ('"!java_PATH! -classpath %cp% com.ibm.connections.metrics.cognos.install.MetricsDBJDBCConnectionVerifer %metrics.db.type% %metrics.db.host% %metrics.db.name% %metrics.db.user% %metrics.db.password%"') DO (
ENDLOCAL


This should work for every failing bat into CognosConfig.bat

Comments

Popular posts from this blog

Multiple controllers with Spring Boot

Remember, when you want to have multiple controllers with Spring Boot, you should always name them differently in the annotation, otherwise they will not work So these two together will NOT work (or just one of them will work) These two instead WILL work.

Can't use the newest npm when node is installed with brew (MacOs)

Even though I installed and reinstalled node with brew, with last versione 11.8.0, apparently it kept using the last version fdecollibus$ npm install --global gatsby-cli npm WARN npm npm does not support Node.js v11.8.0 npm WARN npm You should probably upgrade to a newer version of node as we npm WARN npm can't make any promises that npm will work with this version. npm WARN npm Supported releases of Node.js are the latest release of 4, 6, 7, 8, 9. npm WARN npm You can find the latest version at https://nodejs.org/ /usr/local/Cellar/node/11.8.0/bin/gatsby -> /usr/local/Cellar/node/11.8.0/lib/node_modules/gatsby-cli/lib/index.js + gatsby-cli@2.4.8 npm -v gave me back version 5.6.0. I've therefore noticed that  /usr/local/lib/node_modules had wrong permissions assigned to root:wheel. A chown did not fix the problem: I've had to manually delete the content of the folder (cd / usr/local/lib/node_modules and -careful - type rm -rf ...