#
# 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=1521
db.host=asqe-db1.us.oracle.com
db.sid=asqedb
db.type=oracle
db.name=${db.sid}
#The schema name must be in CAPS and the value is the same as db.user
db.schema=SMOKELINUX
db.user=smokelinux
db.pwd=smokelinux
db.driver=com.inet.ora.OraDriver
db.class=com.inet.ora.OraDataSource
db.url=jdbc:inetora::${db.host}:${db.port}:${db.sid}

db.driver.props=User=${db.user}:Password=${db.pwd}:ServerName=${db.host}:Port=${db.port}:ServiceName=${db.sid}:retrieveMessagesFromServerOnGetMessage=true:connectionAttributes=\\;create\\=true

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