Home > m > mysql > mysql_connect.m

mysql_connect

PURPOSE ^

MYSQL_CONNECT connects to an AO repository and returns the connection object.

SYNOPSIS ^

function varargout = mysql_connect(varargin)

DESCRIPTION ^

 MYSQL_CONNECT connects to an AO repository and returns the connection object.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

 DESCRIPTION: MYSQL_CONNECT connects to an AO repository and returns the
              connection object.

 CALL:        conn = mysql_connect(hostname)  % connects to 'test' database
              conn = mysql_connect(hostname, dbname)  % dialog prompt for username and password
              [conn, password] = mysql_connect(hostname, dbname) % return password to caller
              conn = mysql_connect(hostname, dbname, dbuser, dbpass) % connect with explicit username and password

 VERSION:     $Id: mysql_connect.m,v 1.12 2008/03/10 09:48:48 mauro Exp $

 HISTORY:     24-05-2007 M Hewitson
                 Creation

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function varargout = mysql_connect(varargin)
0002 % MYSQL_CONNECT connects to an AO repository and returns the connection object.
0003 %
0004 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0005 %
0006 % DESCRIPTION: MYSQL_CONNECT connects to an AO repository and returns the
0007 %              connection object.
0008 %
0009 % CALL:        conn = mysql_connect(hostname)  % connects to 'test' database
0010 %              conn = mysql_connect(hostname, dbname)  % dialog prompt for username and password
0011 %              [conn, password] = mysql_connect(hostname, dbname) % return password to caller
0012 %              conn = mysql_connect(hostname, dbname, dbuser, dbpass) % connect with explicit username and password
0013 %
0014 % VERSION:     $Id: mysql_connect.m,v 1.12 2008/03/10 09:48:48 mauro Exp $
0015 %
0016 % HISTORY:     24-05-2007 M Hewitson
0017 %                 Creation
0018 %
0019 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0020 
0021 if nargin < 1
0022   error('### Incorrect inputs')
0023 end
0024 
0025 dbuser = '';
0026 dbpass = '';
0027 
0028 if nargin == 1
0029   dbhost = varargin{1};
0030   dbname = 'test';
0031 elseif nargin == 2
0032   dbhost = varargin{1};
0033   dbname = varargin{2};
0034 elseif nargin == 4;
0035   dbhost = varargin{1};
0036   dbname = varargin{2};
0037   dbuser = varargin{3};
0038   dbpass = varargin{4};
0039 end
0040 
0041 %% Prompt for username and password
0042 
0043 % first try defaults
0044 if isempty(dbuser) 
0045   dbuser = getappdata(0, 'ltpda_repo_user');
0046 end
0047 if isempty(dbpass)
0048   dbpass = getappdata(0, 'ltpda_repo_pass');
0049 end
0050 
0051 % then log-in dialog
0052 if isempty(dbuser) || isempty(dbpass)
0053   [dbuser, dbpass] = logindlg('','');
0054 
0055   if isempty(dbuser) || isempty(dbpass)
0056     warning('!!! Login process cancelled.');
0057     conn = [];
0058     varargout{1} = conn;
0059     if nargout == 2
0060       varargout{2} = dbpass;
0061     end
0062     return
0063   end
0064 end
0065 
0066 %% Database settings
0067 
0068 dbdriver = getappdata(0, 'mysql_driver');
0069 dburl    = sprintf('jdbc:mysql://%s/%s',dbhost,dbname);
0070 
0071 disp(sprintf('** Connecting to %s as %s...', dbhost, dbuser))
0072 
0073 conn     = database(dbname,dbuser,dbpass,dbdriver,dburl);
0074 disp('** Connection status:')
0075 disp(ping(conn))
0076 
0077 % Set outputs
0078 if nargout > 0
0079   varargout{1} = conn;
0080   if nargout == 2
0081     varargout{2} = dbpass;
0082   end
0083 end
0084 
0085 % END

Generated on Mon 31-Mar-2008 13:54:54 by m2html © 2003