#! /bin/sh
# Script for running ott in instant client.
# Before running this script:
#   set jdk1.5/bin in your PATH
#   set LD_LIBRARY_PATH to include the directory containing the instant client 
#       libraries
#   set ottclasses.zip, ojdbc5.jar, orai18n.jar as part of your CLASSPATH

OS=`uname`
MACHINE=`uname -m`
JREOPTIONS=

if [ "$OS" = "HP-UX" ]; then
        if [ "$MACHINE" = "ia64" -o "$MACHINE" = "9000/800" ]; then
                JREOPTIONS=-d64
        fi
fi
if [ "$OS" = "SunOS" ]; then
        if [ "$MACHINE" = "sun4u" -o "$MACHINE" = "sun4v" ]; then
                JREOPTIONS=-d64
        fi
fi

while [ $# -gt 0 ]
do
      case $1 in
      user*)
              OTTUSER="$OTTUSER $1"
              export OTTUSER ;;
      *)
              args="$args $1";;
      esac
shift
done

exec java $JREOPTIONS oracle.ott.c.CMain nlslang=${NLS_LANG} $args
