This tutorial shows how to set up a data source and connect to an 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 an Oracle 11g Enterprise Edition Release 11.2.0.1.0 database.
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.
Windows® authentication enables you to connect to a database using your system or network user name and password. In this case, the database does not require a different user name and password. Windows authentication facilitates connecting to the database and maintaining database access credentials. After you add the required libraries to the system path, the Oracle JDBC driver enables connectivity using Windows authentication. The following steps show how to add these libraries to the Java® library path in MATLAB®. For details about Java libraries, see Java Class Path.
Ensure that you have the latest Oracle OCI libraries installed on your computer. To install the latest library, see Driver Installation.
Run the prefdir
function in the Command Window. The output of this command is a file path to the MATLAB preferences folder on your computer. For details, see prefdir
.
Close MATLAB.
Navigate to the folder from step 2, and create a file named
javalibrarypath.txt
in the folder.
Open javalibrarypath.txt
and insert the path to the
Oracle OCI libraries. The entry must include the full path to the
library files. The entry must not contain the library file names. The
following is an example of the path:
C:\DB_Libraries\instantclient_11_2
. Save and close
javalibrarypath.txt
.
In the environment variables of the advanced system settings, add the Oracle OCI library full path to the Windows Path environment variable.
Restart MATLAB.
You set up a data source using the Database Explorer app or the command line.
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 > Configure JDBC data source.
The JDBC Data Source Configuration dialog box opens.
In the Name box, enter the name of 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, select Other
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.
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 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.
To establish the data source with Windows authentication, set Driver Type to
oci
.
Or, to establish the data source without Windows authentication, set Driver Type to
thin
.
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. The Test Connection dialog box opens. Enter the user name and password for your database. If you are connecting with Windows authentication, then leave these boxes blank. 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.
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
Windows authentication, use the 'DriverType'
name-value pair argument. For example, this code assumes that you are
connecting to a JDBC data source named ORA
, full path
of the JDBC driver file C:\Drivers\ojdbc7.jar
,
database name toystore_doc
, database server
dbtb05
, port number 1521
, and
driver type oci
(for Windows authentication).
opts = setoptions(opts, ... 'DataSourceName',"ORA", ... 'JDBCDriverLocation',"C:\Drivers\ojdbc7.jar", ... 'DatabaseName',"toystore_doc",'Server',"dbtb05", ... 'PortNumber',1521,'DriverType',"oci");
To set the connection options without Windows authentication, omit the 'DriverType'
name-value pair argument.
For a data source with Windows authentication, test the database connection by leaving the user name and password blank.
username = ""; password = ""; status = testConnection(opts,username,password);
To test without Windows authentication, specify a user name and password.
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.
On the Database Explorer tab, in the Connections section, click Connect and select the data source for the connection.
If you create a connection with Windows authentication, leave the Username and Password boxes blank in the connection dialog box, and click Connect. Otherwise, enter a user name and password, and click Connect.
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.
To connect with Windows authentication, use the configured JDBC data source and
specify a blank user name and password. For example, this code assumes
that you are connecting to a JDBC data source named
ORA_Auth
.
datasource = "ORA_Auth"; username = ""; password = ""; conn = database(datasource,username,password);
Or, to connect without Windows authentication, use the configured JDBC data source and
specify the user name username
and the password
pwd
. For example, this code assumes that you are
connecting to a JDBC data source named ORA
.
datasource = "ORA"; username = "username"; password = "pwd"; conn = database(datasource,username,password);
If you have trouble using the database
function,
use the full entry from your tnsnames.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
specified tnsnames.ora
file entry for an Oracle database.
conn = database('','username','pwd', ... '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)
close
| configureJDBCDataSource
| database
| saveAsJDBCDataSource
| setConnectionOptions
| testConnection