• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Tim Cooke
  • Ron McLeod
  • paul wheaton
  • Jeanne Boyarsky
Sheriffs:
  • Paul Clapham
  • Devaka Cooray
Saloon Keepers:
  • Tim Holloway
  • Roland Mueller
  • Himai Minh
Bartenders:

How to pass JDBC parms into JAVA program

 
Ranch Hand
Posts: 204
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hello!

I'm trying to configure the JDBC parameters in a korn shell (.ksh) and then pass those parms into a JAVA program, but it apparently needs to be formatted exactly!

Can anyone tell me if they can see what i need to do to get the format right please?

ora_test.parm values:

A=f15-g
B=1523
C=dws
D="user1"
E="passw1"

test.ksh below:

if [[ "$VALTYP" = "TEST" ]]; then
CONFIG_DIR=$BASDIR/RUN
CONFIG_FILE=$CONFIG_DIR/ora_test.parms
hos=`grep A $CONFIG_FILE | cut -d '=' -f2`
por=`grep B $CONFIG_FILE | cut -d '=' -f2`
sid=`grep C $CONFIG_FILE | cut -d '=' -f2`
usr=`grep D $CONFIG_FILE | cut -d '=' -f2`
pas=`grep E $CONFIG_FILE | cut -d '=' -f2`
fi

kshell statement using parms above:
export CON="jdbc racle:thin:@"$hos":"$por":"$sid","$usr","$passw1"

display of $CON after being created:
jdbc racle:thin:@f15-g:1523 ws,"user1","passw1"

Error when trying to pass $CON into JAVA program as: args[0]
Exception in thread "main" java.sql.SQLException: invalid arguments in call
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:1160)
at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:184)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:365)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:547)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:347)
at java.sql.DriverManager.getConnection(DriverManager.java:512)
at java.sql.DriverManager.getConnection(DriverManager.java:193)
at fn_ll_ln_1_ovex.main(fn_ll_ln_1_ovex.java:131)


Java Program using args[0] input parm:
public static void main(String[] args) throws Exception
{
MyDefaultHandler dh = new MyDefaultHandler();

DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());

Connection conn = DriverManager.getConnection (args[0]); <<<<<<


where args[0] is now, used to look like this, which worked ok:
("jdbc racle:thin:@" + "f15-g" + ":" + Integer.toString(1523) + ":" + "dws","user1","passw1");

Thanks for any ideas!
BobK
 
bob connolly
Ranch Hand
Posts: 204
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
ok looks like i can pass the individual connection variables directly into the connection string which i'll use for now anyway:

java -classpath $B/$C:$B/$C/OVEX:$JDBC:$O1:$O2:$O3:$O4:$JAR:$JAR2 $1_ovex $CON $DDO $XMLDIR/$1_ovex.xml $hos $por $sid $usr $pas

$hos = args[3]

going into the JAVA connection string:

Connection conn = DriverManager.getConnection ("jdbc racle:thin:@" + args[3] + ":" + args[4] + ":" + args[5] , args[6], args[7] );

but it's very difficult to build this string in the (.ksh), if anyone happens to know!

thanks!
bc
reply
    Bookmark Topic Watch Topic
  • New Topic