###############################################################################
# Copyright (c) 2006, 2007 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
# 
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################
pluginName=Eclipse Data Tools Platform IBM DB2 UDB LUW Plug-in
providerName=Eclipse Data Tools Platform

driverClass = Driver Class
driverVendor = Vendor
driverVersion = Version
driverDBName = Database Name
driverConnectionURL = Connection URL
driverUID = User ID
driverPWD = Password

DB2_UDB_CATEGORY_NAME = DB2 for Linux, UNIX, and Windows

org.eclipse.datatools.enablement.ibm.db2.luw.driverTemplate = IBM Data Server Driver for JDBC and SQLJ
org.eclipse.datatools.enablement.ibm.db2.luw.kerberosDriverTemplate=IBM Data Server Driver for JDBC and SQLJ using Kerberos security
org.eclipse.datatools.enablement.ibm.db2.luw.ldapDriverTemplate=IBM Data Server Driver for JDBC and SQLJ using LDAP
org.eclipse.datatools.enablement.ibm.db2.luw.jdbc4.kerberosDriverTemplate=IBM Data Server Driver for JDBC and SQLJ (JDBC 4.0) using Kerberos security
org.eclipse.datatools.enablement.ibm.db2.luw.jdbc4.ldapDriverTemplate=IBM Data Server Driver for JDBC and SQLJ (JDBC 4.0) using LDAP
org.eclipse.datatools.enablement.ibm.db2.luw.jdbc4.driverTemplate = IBM Data Server Driver for JDBC and SQLJ (JDBC 4.0)
org.eclipse.datatools.enablement.ibm.db2.luw.other.driverTemplate = Other Driver

jdbc.connection.name = JDBC Connection
profile.db2.luw.title = DB2 for Linux, UNIX, and Windows