################################################################################
## Copyright (c) 2006-2007 Ingres Corporation and others.
## All rights reserved.   This program and the accompanying materials
## are made available under the terms of the Eclipse Public License 2.0
## which accompanies this distribution, and is available at
## https://www.eclipse.org/legal/epl-2.0/
##
## Contributors: 
##  Ingres - Implementation
################################################################################

PLUGIN_NAME = Ingres DTP Plug-in
PROVIDER_NAME = Eclipse Data Tools Platform

# Parent category for Ingres in the driver definition
CATEGORY_PRODUCT_FAMILY_NAME        = Ingres
CATEGORY_PRODUCT_FAMILY_DESCRIPTION =

# Category for Ingres 2006 in the driver definition
CATEGORY_PRODUCT_NAME        = 2006
CATEGORY_PRODUCT_DESCRIPTION =

# Ingres 2006 Driver Template
DRIVER_NAME = Ingres JDBC Driver
DRIVER_DESCRIPTION =

# Various properties for the driver template

DRIVER_DRIVER_CLASS_NAME = Driver Class
DRIVER_DRIVER_CLASS_DESCRIPTION =

DRIVER_DB_VENDOR_NAME = Vendor
DRIVER_DB_VENDOR_DESCRIPTION =

DRIVER_DB_VERSION_NAME = 2006
DRIVER_DB_VERSION_DESCRIPTION =

DRIVER_DATABASE_NAME_NAME = Database Name
DRIVER_DATABASE_NAME_DESCRIPTION =

DRIVER_DB_URL_NAME = Connection URL
DRIVER_DB_URL_DESCRIPTION =

DRIVER_DB_USERNAME_NAME = Username
DRIVER_DB_USERNAME_DESCRIPTION =

DRIVER_DB_PASSWORD_NAME = Password
DRIVER_DB_PASSWORD_DESCRIPTION =

# Connection Profile
CONNECTION_PROFILE_NAME = Ingres Database

# Connection factory
CONNECTION_FACTORY_NAME = Ingres JDBC Connection Factory
# ====================================================================

