#  Platform Property names & Default
#
#  profileName  - jpatest
#  profileDescription  - JDBC Profile for JPA Testing
#  userName  - jpatest
#  userPassword  - (empty)
#  databasedriverJarList  - jar list separate by comma (mandatory) 
#  databaseName  - testdb
#  databaseUrl  - (mandatory)
#  Driver: oracle.jdbc.OracleDriver
#
profileName = oracle9i
profileDescription = Oracle Thin JDBC Profile for Testing
userName = 
userPassword = 
# set path to Oracle driver here (example: databasedriverJarList = c:/oracle/jdbc/lib/ojdbc14.jar )
databasedriverJarList = 
databaseName = testdb
# set database URL here (example: databaseUrl = jdbc:oracle:thin:@server:1521:testdb )  
databaseUrl = 
