This tutorial shows how to set up a data source and connect to a Microsoft® SQL Server® database using the Database Explorer app or the command line. This tutorial uses the Microsoft JDBC Driver 4.0 for Microsoft SQL Server to connect to a Microsoft SQL Server 2016 Express database.
If the JDBC driver for Microsoft SQL Server 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.
Complete the following steps on the machine where SQL Server is installed to find your port number for database connection. If you experience connection issues with the port number that you find, contact your database administrator.
On the machine where your SQL Server database is installed, click Start. Select your Microsoft SQL Server version folder and click SQL Server Configuration Manager.
On the left of the Sql Server Configuration Manager window, click SQL Server Network Configuration. Double-click Protocols for SQLEXPRESS.
See if TCP/IP is enabled. If so, skip steps 4 and 5.
If TCP/IP is disabled, right-click TCP/IP and select Enable.
To finish the process of enabling the TCP/IP protocol, restart the server. On the left side of the window, click SQL Server Services. Right-click SQL Server (SQLEXPRESS) and click Restart. The server restarts, enabling TCP/IP.
Click Protocols for SQLEXPRESS and right-click TCP/IP. Select Properties.
In the TCP/IP Properties dialog box, scroll to the bottom on the
IP Addresses tab until you see the
IPAll group. The number next to TCP
Dynamic Ports is the port number. Use this port number in the
JDBC Data Source Configuration dialog box when configuring a data source
using the Database Explorer app. Or, enter this port number as an input
argument of the
database function at the command line.
Here, the port number is
53917. If this number is
0 or if you want to configure your SQL Server database server to listen to a specific port, delete the entry
in the TCP Dynamic Ports box. Then, enter another port
number in the TCP Port box.
Click Apply and click OK to close the TCP/IP Properties dialog box. Then, close the Sql Server Configuration Manager dialog box.
Windows® authentication enables you to connect to a database using your Windows user account. In this case, Windows performs user validation, and the database does not require a different user name and password. Windows authentication facilitates the maintenance of database access credentials. After you add the required libraries to the system path, the Microsoft SQL Server 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 Java driver library installed on your computer. To install the latest library, see Driver Installation.
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
Navigate to the folder from step 2, and create a file named
javalibrarypath.txt in the folder.
javalibrarypath.txt and insert the path to the
Java library file
sqljdbc_auth.dll. This file is
installed in the following location:
<installation> is the installation folder of the
SQL Server JDBC driver,
<version> is the JDBC
<language> is the JDBC driver
<arch> is the architecture.
Use the x64 folder. In the entry, include the full path to the library
file. Do not include the library file name. The following is an example of
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 a name for your data source. You use this name to establish a connection to your database.
From the Vendor list, select
Microsoft SQL Server.
In the Driver Location box, enter the full path to the JDBC driver file.
In the Database box, enter the name of your database. 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 Authentication to
Or, to establish the data source without Windows authentication, set Authentication to
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. If you are connecting without Windows authentication, then enter the user name and password for your database. 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 SQL Server database.
vendor = "Microsoft SQL Server"; opts = databaseConnectionOptions("jdbc",vendor);
Set the JDBC connection options. To set the connection options with
Windows authentication, use the
'AuthenticationType' name-value pair argument.
For example, this code assumes that you are connecting to a JDBC data
MSSQLServer, full path of the JDBC
C:\Drivers\sqljdbc4.jar, database name
toystore_doc, database server
dbtb04, port number
opts = setoptions(opts, ... 'DataSourceName',"MSSQLServer", ... 'JDBCDriverLocation',"C:\Drivers\sqljdbc4.jar", ... 'DatabaseName',"toystore_doc",'Server',"dbtb04", ... 'PortNumber',54317,'AuthenticationType',"Windows");
To set the connection options without Windows authentication, omit the
'AuthenticationType' name-value pair
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.
After you complete the data source setup, connect to the SQL Server 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.
Select the catalog and schema from the Catalog and Schema lists. 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.
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
datasource = "MSSQLServerAuth"; 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
datasource = "MSSQLServer"; username = "username"; password = "pwd"; conn = database(datasource,username,password);
Close the database connection.