#  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 = Oracle10g_10_1_0_4
profileDescription = Oracle10g (10.1.0.4) Thin JDBC Profile for Testing
userName = 
userPassword = 
# set path to Oracle driver here (example: databasedriverJarList = c:/oracle/jdbc/lib/ojdbc14.jar )
databasedriverJarList = 
databaseName = 
# set database URL here (example: databaseUrl = jdbc:oracle:thin:@localhost:1521:testdb )  
databaseUrl = 
