Autonomous Database mandates a secure connection that uses Transport Layer Security (TLSv1.2). Java applications that use JDBC Thin driver require either Oracle Wallet or Java KeyStore (JKS). The wallet and keystore files are included in the client credentials .zip
file that is available by clicking DB Connection on the Oracle Cloud Infrastructure console.
Manage Oracle data with visual tools in DBeaver like the query browser. The CData JDBC Driver for Oracle implements JDBC standards that enable third-party tools to interoperate, from wizards in IDEs to business intelligence tools. This article shows how to connect to Oracle data with wizards in DBeaver and browse data in the DBeaver GUI. The remote computer must have Oracle client software installed. It is through Oracle client software that Oracle command-line utilities (and your applications) connect to the database. Oracle Database XE accepts connections from all of the following types of Oracle client software: Oracle Database Express Edition Client (Oracle Database XE).
Topics
JDBC Thin Driver Connection Prerequisites
Applications that use JDBC Thin driver require the Oracle database credentials including the Oracle wallets or Java KeyStore (JKS) files when connecting to the database.
Perform the following steps before connecting to the database:
- Provision Autonomous Database: Create a database and obtain your database credentials (username and password).
- Download Client Credentials: Unzip the
wallet_
databasename.zip
to a secure location. Make sure that only authorized users have access to these files.See Download Client Credentials (Wallets) for information on downloading client credentials for Autonomous Database.
- Verify your JDK version for security: If you are using JDK11, JDK10, or JDK9 then you don’t need to do anything for this step. If your JDK version is less than JDK8u162 then you need to download the JCE Unlimited Strength Jurisdiction Policy Files. Refer to the
README
file for installation notes. Download the JCE files from Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 8 Download. - Check JDBC Driver Version: Download the latest 18.3 JDBC Thin driver (
ojdbc8.jar
anducp.jar
) from Oracle Database 18c (18.3) JDBC Driver & UCP Downloads. Use the latest 18.3 JDBC driver, or newer, to take advantage of recent enhancements that simplify connections and provide easy steps for configuration. You also need the additional jars:oraclepki.jar
,osdt_core.jar
, andosdt_cert.jar
for use with Oracle wallets.
Using a JDBC URL Connection String with JDBC Thin Driver
The connection string is found in the file tnsnames.ora
which is part of the client credentials download. The tnsnames.ora
file contains the predefined service names. Each service has its own TNS alias and connection string.
Dbeaver Oracle Tns Download
dbname_high
as the TNS alias and a connection string in tnsnames.ora
follows:Set the location of tnsnames.ora
with the property TNS_ADMIN
in one of the following ways:
- As part of the connection string (only with the 18.3 or newer JDBC driver)
- As a system property,
-Doracle.net.tns_admin
- As a connection property (
OracleConnection.CONNECTION_PROPERTY_TNS_ADMIN
)
Using the 18.3 JDBC driver, the connection string includes the TNS alias and the TNS_ADMIN
connection property.
Sample connection string using 18.3 JDBC driver (Linux):
Dbeaver Oracle Tns Login
Sample connection string using 18.3 JDBC driver (Windows):
The TNS_ADMIN
connection property specifies the following:
- The location of
tnsnames.ora
. - The location of Oracle Wallet (
ewallet.sso
,ewallet.p12
) or Java KeyStore (JKS) files (truststore.jks
,keystore.jks
). - The location of
ojdbc.properties
. This file contains the connection properties required to use Oracle Wallets or Java KeyStore (JKS).
Note:
If you are using 12.2.0.1 or older JDBC drivers, then the connection string contains only the TNS alias. To connect using older JDBC drivers:
- Set the location of the
tnsnames.ora
, either as a system property with-Doracle.net.tns_admin
or as a connection property (OracleConnection.CONNECTION_PROPERTY_TNS_ADMIN
). - Set the wallet or JKS related connection properties in addition to
TNS_ADMIN
.
For example, in this case you set the TNS alias in the DB_URL
without the TNS_ADMIN
part as:
See Predefined Database Service Names for Autonomous Database for more details.
Dbeaver Oracle Tns Training
Using a JDBC Connection with 18.3 JDBC Driver
Applications that use JDBC Thin driver can connect to Autonomous Databases using either Oracle Wallets or Java KeyStore (JKS).
Using Oracle Wallet
To use Java and the 18.3 JDBC Thin Driver to connect to Autonomous Database with the Oracle Wallet, do the following:
Make sure that the prerequisites are met: See JDBC Thin Driver Connection Prerequisites for more information.
Verify the connection: You can either use a Java program, a servlet, or IDEs to verify the connection to the database. A simple test is to download DataSourceSample.java or UCPSample.java from JDBC code samples and update the connection URL to have the required TNS alias and pass
TNS_ADMIN
, providing the path fortnsnames.ora
and the wallet files. Also, in the sample source code update the database username and password. For example:Note:
If you are using Microsoft Active Directory with a database, then in the sample source code update the username with the Active Directory username and update the password with the Active Directory user password. See Use Microsoft Active Directory with Autonomous Database for more information.Set the wallet location: The properties file
ojdbc.properties
is pre-loaded with the wallet related connection property.Note:
You do not modify the fileojdbc.properties
. The value ofTNS_ADMIN
determines the wallet location.Compile and Run: Compile and run the sample to get a successful connection. Make sure you have
oraclepki.jar
,osdt_core.jar
, andosdt_cert.jar
, in theclasspath
. For example:
Note:
The auto-login wallet part of Autonomous Database downloaded client credentials zip file removes the need for your application to use username/password authentication.Using Java KeyStore Office 365 repair tool for macenddwnload.
To use Java and the 18.3 JDBC Thin Driver to connect to Autonomous Database with Java KeyStore (JKS), do the following:
Make sure that the prerequisites are met: See JDBC Thin Driver Connection Prerequisites for more information.
Ready the database details: You can either use a Java program, a servlet, or IDEs to check the connection to your database. A simple test is to download DataSourceSample.java or UCPSample.java from JDBC code samples. In this sample, use the connection URL as shown below. Note that the connection
DB_URL
contains the TNS alias, for example,dbname_high
present intnsnames.ora
. You can provide the path fortnsnames.ora
file throughTNS_ADMIN
property as shown in the URL. Make sure to use the database username and password related to your database.Note:
If you are using Microsoft Active Directory with Autonomous Database, then make sure to change the sample source code to use the Active Directory username and the Active Directory user password. See Use Microsoft Active Directory with Autonomous Database for more information.Set JKS related connection properties: Add the JKS related connection properties to
ojdbc.properties
file. The keyStore and truststore password are the password specified when you're downloading the client credentials.zip
file from the Autonomous Database service console.To use SSL connectivity instead of Oracle Wallet, specify the keystore and truststore files and their respective password in the
ojdbc.properties
file as follows:Note:
Make sure to comment the wallet related property inojdbc.properties
. For example:Compile and Run: Compile and run the sample to get a successful connection. For example:
Connecting Using JDBC Thin Driver 12.2 or Older
If you are using the JDBC driver 12.2.0.2 or older, set the Java properties prior to starting the application. Usually you set the properties in the application's startup script.
If you are not able to use the latest 18.3 JDBC drivers, then you can connect to Autonomous Database using 12.2.0.2 or other older JDBC drivers. The 12.2 or older JDBC drivers do not support the ojdbc.properties
file. With older JDBC driver versions, you need to pass wallets or JKS related properties either as system properties or as connection properties to establish a connection.
Using Oracle Wallet
To use Java and the 12.2 or older JDBC Drivers to connect to Autonomous Database with the Oracle Wallet, do the following:
Make sure that the prerequisites are met: See JDBC Thin Driver Connection Prerequisites for more information.
Verify the connection: You can either use a Java program, a servlet, or IDEs to verify the connection to the database. A simple test is to download DataSourceSample.java or UCPSample.java from JDBC code samples and update the connection URL to have the required TNS alias. Also, update the sample source code to use the database username and password. For example:
Note:
If you are using Microsoft Active Directory with Autonomous Database, then update the sample source code to use the Active Directory username and Active Directory user password. See Use Microsoft Active Directory with Autonomous Database for more information.Set the wallet location: Add the
OraclePKIProvider
at the end of the provider list in the filejava.security
(this file is part of your JRE install located at$JRE_HOME/jre/lib/security/java.security
) which typically looks like:Compile and Run: Compile and run the sample to get a successful connection. Make sure to have
oraclepki.jar
,osdt_core.jar
, andosdt_cert.jar
, in theclasspath
. Also, you need to pass the connection properties. Update the properties with the location wheretnsnames.ora
and wallet files are located.
Note:
These are Windows system examples. Add a
continuation character if you are setting –D
properties on multiple lines on UNIX ( Linux or a Mac). Using Java KeyStore
To use Java and the 12.2 or older JDBC Thin Drivers to connect to Autonomous Database with Java KeyStore (JKS), do the following:
Make sure that the prerequisites are met: See JDBC Thin Driver Connection Prerequisites for more information.
Verify the connection: You can either use a Java program, a servlet, or IDEs to verify the connection to the database. A simple test is to download DataSourceSample.java or UCPSample.java from JDBC code samples and update the connection URL to have the required TNS alias and pass
TNS_ADMIN
, providing the path fortnsnames.ora
and update the connection URL to have the required TNS alias. Also, in the sample source code update the database username and password. For example:Note:
If you are using Microsoft Active Directory with Autonomous Database, then update the sample source code to use the Active Directory username and Active Directory user password. See Use Microsoft Active Directory with Autonomous Database for more information.Compile and Run: Compile and run the sample to get a successful connection. You need to pass the connection properties as shown below. Update the properties with the location where
tnsnames.ora
and JKS files are placed. If you want to pass these connection properties programmatically then refer to DataSourceForJKS.java. For example:
JDBC Thin Connections with an HTTP Proxy
If the client is behind a firewall and your network configuration requires an HTTP proxy to connect to the internet, you need to use the JDBC Thin Client 18.1 or higher which enables connections through HTTP proxies.
To connect to Autonomous Database through an HTTPS proxy, open and update your tnsnames.ora
file. Add the HTTP proxy hostname(https_proxy) and port (https_proxy_port) to the connection string. Replace the values with your HTTPS proxy information. For example:
Add the HTTP proxy hostname and port to the connection definitions in
tnsnames.ora
. You need to add the https_proxy and https_proxy_port parameters in the address section of connection definitions. For example, the following sets the HTTP proxy toproxyhostname
and the HTTP proxy port to80
; replace these values with your HTTP proxy information:
Notes:
JDBC Thin client versions earlier than 18.1 do not support connections through HTTP proxy.
Successful connection depends on specific proxy configurations and the performance of data transfers would depend on proxy capacity. Oracle does not recommend using this feature in Production environments where performance is critical.
Configuring
tnsnames.ora
for the HTTP proxy may not be enough depending on your organization's network configuration and security policies. For example, some networks require a username and password for the HTTP proxy.In all cases, contact your network administrator to open outbound connections to hosts in the
oraclecloud.com
domain using the relevant port without going through an HTTP proxy.
DBeaver Overview
DBeaver is a free, open source multiplatform database management tool and SQL client for developers and database administrators. DBeaver can be used to access any database or cloud application that has an ODBC or JDBC driver, such as Oracle, SQL Server, MySQl, Salesforce, or MailChimp. Devart DBeaver provides you with the most important features you'd need when working with a database in a GUI tool, such as:
- SQL queries execution
- Metadata browsing and editing
- SQL scripts management
- Data export/import
- Data backup
- DDL generation
- ER diagrams rendering
- Test data generation
- BLOB/CLOB support
- Database objects browsing
- Scrollable resultsets
The tool comes in two editions — Community and Enterprise. Enterprise Edition supports NoSQL databases, such as MongoDB or Cassandra, persistent query manager database, SSH tunneling, vector graphics (SVG) and a few other enterprise-level features. Note though that you can access a MongoDB database from DBeaver Community Edition using the respective Devart ODBC driver. For the purposes of this guide, we'll use the Community Edition of DBeaver to retrieve data from Oracle via the Open Database Connectivity driver.
Creating an ODBC Data Source to Use Oracle Data in DBeaver
- Click the Start menu and select Control Panel.
- Select Administrative Tools, then click ODBC Data Sources.
- Click on the System DSN tab if you want to set up a DSN name for all users of the system or select User DSN to configure DSN only for your account.
- Click the Add button and double-click Devart ODBC Driver for Oracle in the list.
- Give a name to your data source and set up the connection parameters.
- Click the Test Connection button to verify that you have properly configured the DSN.
When using ODBC driver for Oracle with DBeaver, SQL_WVARCHAR data types may be displayed incorrectly in DBeaver. To prevent this, you need to set the string data types to Ansi either in the Advanced Settings tab of the driver configuration dialog or directly in the connection string (String Types=Ansi) — all string types will be returned as SQL_CHAR, SQL_VARCHAR and SQL_LONGVARCHAR.
Connecting to Oracle Data from DBeaver via ODBC Driver for Oracle
Follow the steps below to establish a connection to Oracle in DBeaver.
- In the Database menu, select New Database Connection.
- In the Connect to database wizard, select ODBC and click Next.
- Enter the previously configured DSN in the Database/Schema field.
- Click Test Connection. If everything goes well, you'll see the Success message.
Viewing Oracle Database Objects and Querying Data
You can expand out the database structure in DBeaver's Database Navigator to visualize all the tables in Oracle database. To view and edit the data in a table, you need to right-click on the target table name and select View data.The content of the table will be displayed in the main workspace.
If you want to write a custom SQL query that will include only the necessary columns from the table, you can select New SQL Editor in the SQL Editor main menu. Create your query and run it by clicking Execute SQL Statement to view the results in the same window.
Dbeaver Oracle Tns Connection
© 2015-2021 Devart. All Rights Reserved. | Request Support | ODBC Forum | Provide Feedback |