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

Building bitcoin/litecoin on mac os x missing EC.h

For my own fun, I was playing around with bitcoin, to check how the parameters of the cryptocurrencies can be modified.

After recent upgrades to my OS, I could not build any longer the bitcoind. Seems like something changed on that side. Now this command

./configure --with-gui=qt5 --enable-debug
Was sistematically producing 
configure: error: OpenSSL ec header missing

EC is the file for elliptic curve cryptography. I had brew correctly configured, and the header files were all correctly present. After some time spent inspecting the issue, on github I was able to find the solution for this problem. I simply add to export the following
export LDFLAGS=-L/usr/local/opt/openssl/libexport CPPFLAGS=-I/usr/local/opt/openssl/include
There is aksi pull request on bitcoin for that, I hope I could save you some time https://github.com/bitcoin/bitcoin/pull/6885/files?diff=split&unchanged=expanded

Hybris setup issue: Unsupported major.minor version 52.0

While I was typing the final "ant all" command for hybris, it miserably failed with the following exception

hybris/bin/platform/resources/ant/antmacros.xml:123: java.lang.UnsupportedClassVersionError: de/hybris/ant/taskdefs/DbDriverValidator : Unsupported major.minor version 52.0 at java.lang.ClassLoader.defineClass1(Native Method)


Even though a "java -version" gave me back version 8, ant is still using $JAVA_HOME variable.
So you have to change it into the script. My suggestion is that you adapt the setantenv.bat script with the JAVA_HOME directly


@echo off
set ANT_OPTS=-Xmx512m -Dfile.encoding=UTF-8
set ANT_HOME=%~dp0apache-ant-1.9.1
set JAVA_HOME=C:/Program Files/Java/jdk1.8.0_101
set PATH=%ANT_HOME%\bin;%PATH%
rem deleting CLASSPATH as a workaround for PLA-8702
set CLASSPATH=
echo Setting ant home to: %ANT_HOME%
ant -version