#
# Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
#
# This program and the accompanying materials are made available under the
# terms of the Eclipse Public License v. 2.0, which is available at
# http://www.eclipse.org/legal/epl-2.0.
#
# This Source Code may also be made available under the following Secondary
# Licenses when the conditions for such availability set forth in the
# Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
# version 2 with the GNU Classpath Exception, which is available at
# https://www.gnu.org/software/classpath/license.html.
#
# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
#

db.port=3306
db.host=asqe-core1.us.oracle.com
db.type=mysql
db.name=dbsmpl1
# schema name is the same as the user name in CAPS
db.schema=DBUSER
db.user=dbuser
db.pwd=dbpassword
db.driver=com.mysql.jdbc.Driver
db.class=com.mysql.jdbc.jdbc2.optional.MysqlDataSource
db.url=jdbc:mysql://${db.host}:${db.port}/${db.name}
connector.url=jdbc\\:mysql\\://${db.host}\\:${db.port}/${db.name}

db.driver.props=User=${db.user}:Password=${db.pwd}:url=${connector.url}:retrieveMessagesFromServerOnGetMessage=true:connectionAttributes=\\;create\\=true
db.target=mysql

# property used by deployment module
db.driver.dir=${env.APS_HOME}/devtests/persistence/lib/drivers/mysql
