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