%% Remove Driver-Specific Connection Option
% Create a JDBC data source for a Microsoft® SQL Server® database, configure the data source by setting JDBC connection options, and set and remove an additional JDBC driver-specific option. Then, test and save the data source.
%
% Create an SQL Server data source.

opts = configureJDBCDataSource('Vendor','Microsoft SQL Server')

% opts is a JDBCConnectionOptions object with these properties:
% Vendor — Database vendor name
% DataSourceName — Name of the data source
% DatabaseName — Name of the database
% Server — Name of the database server
% PortNumber — Port number
% AuthType — Authentication type
% JDBCDriverLocation — Full path of the JDBC driver file
%
% Configure the data source by setting the JDBC connection options for the data source SQLServerDataSource, database server dbtb04, port number 54317, full path to the JDBC driver file, and Windows® authentication.

opts = setConnectionOptions(opts, ...
    'DataSourceName','SQLServerDataSource', ...
    'Server','dbtb04','PortNumber',54317, ...
    'JDBCDriverLocation','C:\Drivers\sqljdbc4.jar', ...
    'AuthType','Windows')

% The setConnectionOptions function sets the DataSourceName, Server, PortNumber, AuthType, and JDBCDriverLocation properties in the JDBCConnectionOptions object.
%
% Add a JDBC driver-specific connection option by using a name-value pair argument. The option specifies a timeout value for establishing the database connection. opts contains a new section of properties for the additional JDBC connection option.

opts = addConnectionOptions(opts,'loginTimeout',20)

%
% Test the database connection with a blank user name and password. The testConnection function returns the logical 1, which indicates that the database connection is successful.

username = "";
password = "";
status = testConnection(opts,username,password)

%
% Remove the JDBC driver-specific option. The opts object no longer contains the properties section for the additional JDBC connection options.

opts = rmConnectionOptions(opts,'loginTimeout')

%
% Test the database connection again.

status = testConnection(opts,username,password)

%
% Save the configured data source.

saveAsJDBCDataSource(opts)

% Copyright 2019 The MathWorks, Inc.