Skip to content

Commit

Permalink
MONDRIAN: Oracle 11g has new JDBC driver.
Browse files Browse the repository at this point in the history
[git-p4: depot-paths = "//open/mondrian/": change = 14651]
  • Loading branch information
julianhyde committed Oct 3, 2011
1 parent fa1dd95 commit 3513047
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 17 deletions.
13 changes: 9 additions & 4 deletions bin/loadFoodMart.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ Linux|Darwin) PS=: ;;
esac

export CP="lib/mondrian.jar"
export CP="${CP}${PS}lib/olap4j.jar"
export CP="${CP}${PS}lib/log4j.jar"
export CP="${CP}${PS}lib/commons-logging.jar"
export CP="${CP}${PS}lib/eigenbase-properties.jar"
Expand Down Expand Up @@ -44,8 +45,12 @@ error() {
}

oracle() {
#export ORACLE_HOME=G:/oracle/product/10.1.0/Db_1
java -cp "${CP}${PS}${ORACLE_HOME}/jdbc/lib/ojdbc14.jar" \
# Assume ORACLE_HOME is set, e.g.:
# export ORACLE_HOME=G:/oracle/product/10.1.0/Db_1
# For JDBC driver, try 'ojdbc6.jar' on JDK1.6;
# try 'ojdbc5.jar' on JDK1.5;
# try 'ojdbc14.jar' on JDK1.4 or Oracle 10 and earlier.
java -cp "${CP}${PS}${ORACLE_HOME}/jdbc/lib/ojdbc6.jar" \
mondrian.test.loader.MondrianFoodMartLoader \
-verbose -aggregates -tables -data -indexes \
-jdbcDrivers=oracle.jdbc.OracleDriver \
Expand All @@ -56,15 +61,15 @@ oracle() {
# Load into Oracle, creating dimension tables first, then trickling data into
# fact tables.
oracleTrickle() {
java -cp "${CP}${PS}${ORACLE_HOME}/jdbc/lib/ojdbc14.jar" \
java -cp "${CP}${PS}${ORACLE_HOME}/jdbc/lib/ojdbc6.jar" \
mondrian.test.loader.MondrianFoodMartLoader \
-verbose -tables -indexes -data -exclude=sales_fact_1997 \
-jdbcDrivers=oracle.jdbc.OracleDriver \
-inputJdbcURL="jdbc:oracle:thin:foodmart/foodmart@//localhost:1521/XE" \
-outputJdbcURL="jdbc:oracle:thin:slurpmart/slurpmart@//localhost:1521/XE"

# Write 10 rows each second into the sales fact table.
java -cp "${CP}${PS}${ORACLE_HOME}/jdbc/lib/ojdbc14.jar" \
java -cp "${CP}${PS}${ORACLE_HOME}/jdbc/lib/ojdbc6.jar" \
mondrian.test.loader.MondrianFoodMartLoader \
-verbose -tables -indexes -data -pauseMillis=100 -include=sales_fact_1997 \
-jdbcDrivers=oracle.jdbc.OracleDriver \
Expand Down
42 changes: 29 additions & 13 deletions bin/megatest
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ marmalade)
jdkList="jdk1.4 jdk1.5 jdk1.6 openjdk1.6"
;;
marmite)
databaseList="derby hsqldb mysql"
databaseList="derby hsqldb mysql oracle"
jdkList="jdk1.4 jdk1.5 jdk1.6 openjdk1.6 ibmjdk1.6"
;;
ATRHisv1)
Expand Down Expand Up @@ -227,19 +227,14 @@ doTest2() {
oracle)
(
#export ORACLE_HOME=G:/oracle/product/10.1.0/Db_1
if [ -n "$ORACLE_HOME" ]; then
echo driver.classpath=${ORACLE_HOME}/jdbc/lib/ojdbc14.jar
else
# If Oracle is not installed, you must copy Oracle's JDBC driver into
# testlib.
if [ ! -f testlib/ojdbc14.jar ]; then
echo "Oracle JDBC not found"
exit 1
fi
echo driver.classpath=${MONDRIAN_DIR}/testlib/ojdbc14.jar
driver="$(chooseOracleDriver $jdk)"
if [ ! -f "$driver" ]; then
echo "Oracle JDBC driver not found"
exit 1
fi
jdbcURL=jdbc:oracle:thin:foodmart/foodmart@//marmalade:1521/XE
jdbcURL=jdbc:oracle:thin:foodmart/foodmart@//$(uname -n):1521/XE
jdbcDrivers=oracle.jdbc.OracleDriver
echo driver.classpath=${driver}
echo mondrian.foodmart.jdbcURL=${jdbcURL}
echo mondrian.jdbcDrivers=${jdbcDrivers}
echo mondrian.foodmart.jdbcUser=foodmart
Expand Down Expand Up @@ -433,6 +428,28 @@ chooseJavaHome() {
esac
}

# Returns a path of an Oracle JDBC driver for a given JDK.
# E.g. "/u01/app/oracle/product/11.2.0/jdbc/lib/ojdbc6.jar"
chooseOracleDriver()
{
for b in "$ORACLE_HOME/jdbc/lib" testlib; do
case "$jdk" in
(jdk1.6|openjdk1.6|ibmjdk1.6)
files="ojdbc6.jar ojdbc5.jar ojdbc14.jar";;
(jdk1.5)
files="ojdbc5.jar ojdbc14.jar";;
(jdk1.4|*)
files="ojdbc14.jar";;
esac
for f in $files; do
if [ -f "$b/$f" ]; then
echo "$b/$f"
return
fi
done
done
}

olap4j() {
jdk=$1
driver=$2
Expand Down Expand Up @@ -1000,4 +1017,3 @@ CYGWIN*)
esac

# End megatest

0 comments on commit 3513047

Please sign in to comment.