Configuring WCS V7 FEP4 toolkit and Oracle 11g Release 2

What an experience it has been to configure and run my toolkit with a local Oracle installation, I decided to document some of the errors I encountered, hopefully this will help others.

My software stack

WCS V7 toolkit with feature pack 4, fix pack 5
Windows 7 OS (64 bit)
Oracle 11g, Release 2 (installed the "desktop class"  version, this is supposed to be lite version of server edition)

All of the software stack is installed on a single host machine.

Step 1.a
I started with installation of a 64 bit version of Oracle server/client on my laptop, this was probably the first biggest mistake, and here is some explanation and possible workaround.
"WCS developer still makes use of a 32 bit JVM and hence would require a 32 bit Oracle driver"

c:\IBM\WCDE_ENT70\bin>setdbtype.bat oracle "C:\app\~\product\11.2.0\dbhome_2" wcs sys Oracle123 wcs7dev wcs7dev createdb

Error 1

"\Common was unexpected at this time"

to resolve this issue I had to edit c:\IBM\WCDE_ENT70\bin\setenv.bat
and replace following line 
with following entry
set PATH=%JAVA_HOME%\bin;c:\app\~\product\11.2.0\dbhome_2\bin;C:\Windows\system32;C:\Windows

I believe the issue here is the default script appends rest of system path setting and it had few lengthy URL with spaces etc.. so I decided to include only the path entries required for setdbtype script.

again... I'm not very sure of the root cause, but this hack worked fine for me.

Error 2
All of the tables were created successfully, buy It fails during massload with following error.

"WCS massload utility makes use of OCI driver and expects a 32 bit version of the driver"

Exception in thread "main" java.lang.UnsatisfiedLinkError: ocijdbc11 (.\ocijdbc11.dll is not a valid Win32 application. )
at java.lang.ClassLoader.loadLibraryWithPath(
at java.lang.ClassLoader.loadLibraryWithClassLoader(
at java.lang.System.loadLibrary(
at oracle.jdbc.driver.T2CConnection$
at oracle.jdbc.driver.T2CConnection.loadNativeLibrary(
at oracle.jdbc.driver.T2CConnection.logon(
at oracle.jdbc.driver.PhysicalConnection.<init>(
at oracle.jdbc.driver.T2CConnection.<init>(
at oracle.jdbc.driver.T2CDriverExtension.getConnection(
at oracle.jdbc.driver.OracleDriver.connect(
at java.sql.DriverManager.getConnection(
at java.sql.DriverManager.getConnection(
Infocenter does provide some options to change it to a thin driver, but then I hit one error after another, and finally decided to give up and go with 32 bit version of Oracle software.
you could also try and download a 32 bit version of Oracle client /driver, but I was not so confident of this approach as it could impact the base Oracle installation.

I abandoned this step and moved to Step 1.b

Step 1.b

I downloaded the 32 bit version of Oracle software, this time around problem started with installation of database.
I got following error from Oracle installer and found a possible explanation from this thread.
as suggested in this thread I safely ignored the errors from installer and completed the database installation.
Error: File not found orandce11.dll.dbl

Once the DB installation was completed I moved on to setdbtype command and this time everything ran properly including massload.

c:\IBM\WCDE_ENT70\bin>setdbtype.bat oracle "C:\app\~\product\11.2.0\dbhome_2" wcs sys Oracle123 wcs7dev wcs7dev createdb
Make sure you review WCDE_ENT70\logs\ file to ensure there were no errors.

Step 2

After running the setdbtype command, and before publishing any stores in the new database, you need to run the resetstores command to clean the store database, this will reset the stores project to bootstrap.

Any features enabled prior to running the setdbtype command must be re-enabled, I preferred to enable following features.

enableFeature.bat -DfeatureName=foundation

enableFeature.bat -DfeatureName=management-center

enableFeature.bat -DfeatureName=store-enhancements

Prepare Oracle for WCS toolkit configuration:
Few utility SQL's which came in handy during the installation / configuration, there other ways to do this, but these scripts just worked fine for me.

GRANT create procedure to "WCS7DEV";
GRANT create sequence to "WCS7DEV";
GRANT create session to "WCS7DEV";
GRANT create synonym to "WCS7DEV";
GRANT create table to "WCS7DEV";
GRANT create trigger to "WCS7DEV";
GRANT create view to "WCS7DEV";
GRANT unlimited tablespace to "WCS7DEV";

Reference Links

Changing development database

WebSphere commerce feature pack

Jangan Lupa Tinggalkan Komentarnya di Kolom komentar jika ada bug, atau artikelnya error atau tilisannya salah ya sahabat
wisata tradisi game kuliner