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 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
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