#
# 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=natraj.sfbay.sun.com
db.sid=dbsmpl1
db.type=oracle
db.name=dbsmpl1
db.user=dbuser
db.pwd=dbpassword
db.driver=com.sun.sql.jdbc.oracle.OracleDriver
db.class=com.sun.sql.jdbcx.oracle.OracleDataSource
db.xaclass=com.sun.sql.jdbcx.oracle.OracleDataSource
db.url=jdbc:sun:oracle://${db.host}:${db.port};SID=${db.sid}
connector.url=jdbc\\:sun\\:oracle\\://natraj.sfbay.sun.com\\:1521\\;SID\\=dbsmpl1
db.unixdriverpath=lib/drivers/oracle/smoracle.jar
db.windriverpath=lib/drivers/oracle/smoracle.jar
cpds.class=com.sun.sql.jdbcx.oracle.OracleDataSource
isDBOracle=true
datadirect=true

#properties used by global transaction tests.
txdb.port=1521
txdb.host=natraj.sfbay.sun.com
txdb.name=dbsmpl2
txdb.user=pbpublic
txdb.pwd=pbpublic
txdb.url=jdbc:sun:oracle://natraj.sfbay.sun.com:1521;SID=dbsmpl2

#Properties used by admincli
adminclidb.user=admincli
adminclidb.pwd=admincli
