Oracle JDBC for Linux
This tutorial shows how to set up a data source and connect to a Oracle® database using the Database Explorer app or the command line. This tutorial uses the Oracle Database 11g Release 2 (11.2.0.3) JDBC driver for use with JDK™ 1.6 to connect to a Oracle 11g Enterprise Edition Release 11.2.0.1.0 database.
Step 1. Verify the driver installation.
If the JDBC driver for Oracle is not installed on your computer, find the link on the Driver Installation page to install the driver. Follow the instructions to download and install this driver on your computer.
Step 2. Set up the data source.
You set up a data source using the Database Explorer app or the command line.
Set Up Data Source Using Database Explorer App
Open the Database Explorer app by clicking the Apps tab on the MATLAB® Toolstrip. Then, on the right of the Apps section, click the Show more arrow to open the apps gallery. Under Database Connectivity and Reporting, click Database Explorer. Alternatively, enter
databaseExplorer
at the command line.In the Data Source section, select Configure Data Source > JDBC.
The JDBC Data Source Configuration dialog box opens.
In the Name box, enter a name for your data source. (This example uses a data source named
ORA
.) You use this name to establish a connection to your database.From the Vendor list, select
Oracle
.Note
To use the full entry from your
tnsnames.ora
file, selectOther
instead and enter the full entry in the resulting URL box. Then, enter the full path to the JDBC driver file in the Driver Location box and the name of the driver in the resulting Driver box. Save the JDBC data source. For details about these steps, see Other ODBC-Compliant or JDBC-Compliant Databases.In the Driver Location box, enter the full path to the JDBC driver file.
If you want to store your user credentials for this data source, click the Set Credentials button.
In the Database box, enter the name of your database.
The name can be the service name or the Oracle system identifier (SID), depending on your specific Oracle database setup. For details, see your
tnsnames.ora
file, which is often stored in<ORACLE_HOME>/NETWORK/ADMIN
, where<ORACLE_HOME>
is the folder containing the installed database or the Oracle client.In the Server box, enter the name of your database server. Consult your database administrator for the name of your database server. In the Port Number box, enter the port number. From the Driver Type list, select
thin
oroci
. (Usethin
as the default driver. Useoci
if you installed an OCI driver.)Under Connection Options, in the Name column, enter the name of an additional driver-specific option. Then, in the Value column, enter the value of the driver-specific option. Click the plus sign + to specify additional driver-specific options.
Click Test.
If you stored your user credentials using the Set Credentials button, the Database Explorer app attempts to make the connection.
If you have not stored your credentials, the Test Connection dialog box opens. Enter the username and password for your database, or leave these boxes blank if your database does not require them. Click Test.
If your connection succeeds, the Database Explorer dialog box displays a message indicating the connection is successful. Otherwise, it displays an error message.
Click Save. The JDBC Data Source Configuration dialog box displays a message indicating the data source is saved successfully. Close this dialog box.
Set Up Data Source Using Command Line
Create a JDBC data source for an Oracle database.
vendor = "Oracle"; opts = databaseConnectionOptions("jdbc",vendor);
Set the JDBC connection options. To set the connection options with an OCI driver, use the
'DriverType'
name-value pair argument. For example, this code assumes that you are connecting to a JDBC data source namedORA
, full path of the JDBC driver file/home/user/DB_Drivers/ojdbc7.jar
, database nametoystore_doc
, database serverdbtb05
, port number1521
, and driver typeoci
.opts = setoptions(opts, ... 'DataSourceName',"ORA", ... 'JDBCDriverLocation',"/home/user/DB_Drivers/ojdbc7.jar", ... 'DatabaseName',"toystore_doc",'Server',"dbtb05", ... 'PortNumber',1521,'DriverType',"oci");
To set the connection options without the OCI driver, omit the
'DriverType'
name-value pair argument.Test the database connection by specifying the username and password, or leave these arguments blank if your database does not require them.
When a database requires authentication, the recommended practice is to store credentials in your MATLAB vault using
setSecret
instead of including them in your code. Retrieve your credentials by using thegetSecret
function.Before R2024a:
setSecret
andgetSecret
are not available. Specify your username and password using character vectors or strings.setSecret("usernameoracle"); setSecret("passwordoracle"); status = testConnection(opts,getSecret("usernameoracle"),getSecret("passwordoracle"));
Save the JDBC data source.
saveAsDataSource(opts)
After you complete the data source setup, connect to the Oracle database using the Database Explorer app or the JDBC driver and command line.
Step 3. Connect using the Database Explorer app or the command line.
Connect to Oracle Using Database Explorer App
On the Database Explorer tab, in the Connections section, click Connect and select the data source for the connection.
If you stored your user credentials using the Set Credentials button, the Database Explorer app makes the connection and the Catalog and Schema dialog box opens.
If you have not stored your user credentials, the connection dialog box opens. Enter your username and password, or leave these boxes blank if your database does not require them. Click Connect and the Catalog and Schema dialog box opens.
In the Schema list, select the schema. Click OK.
The app connects to the database and displays its tables in the Data Browser pane. A data source tab appears to the right of the pane. The title of the data source tab is the data source name that you defined during the setup. The data source tab contains empty SQL Query and Data Preview panes.
Select tables in the Data Browser pane to query the database.
Close the data source tab to close the SQL query. In the Connections section, close the database connection by clicking Close Connection.
Note
If multiple connections are open, close the database connection of your choice by selecting the corresponding data source from the Close Connection list.
Connect to Oracle Using JDBC Driver and Command Line
Connect to an Oracle database using the configured JDBC data source, username, and password.
datasource = "ORA"; setSecret("usernameoracle"); setSecret("passwordoracle"); conn = database(datasource,getSecret("usernameoracle"),getSecret("passwordoracle"));
If you have trouble using the
database
function, use the full entry from yourtnsnames.ora
file in the URL string as one consecutive line. Leave the first argument blank. For example, this code assumes that the value of the'URL'
name-value pair argument is set to the specifiedtnsnames.ora
file entry for an Oracle database.conn = database('',getSecret("usernameoracle"),getSecret("passwordoracle"), ... 'Vendor','Oracle', ... 'URL',['jdbc:oracle:thin:@(DESCRIPTION = ' ... '(ADDRESS = (PROTOCOL = TCP)(HOST = sname)' ... '(PORT = 123456)) (CONNECT_DATA = ' ... '(SERVER = DEDICATED) (SERVICE_NAME = dbname) ) )']);
Close the database connection.
close(conn)