#!/usr/bin/perl -w use strict; use SOAP::Lite; #Please read at end of file for more info #The query string my $query; #retrieve query from stdin my $line =; while ($line) { $query = $query . $line; $line = ; } #Make the call to the openSession service my $result = SOAP::Lite -> uri('SQL99Validator') -> proxy('http://sqlvalidator.mimer.com/v1/services/') -> openSession('anonymous', 'dummy', 'PerlClient', 'v0.0001', 'N/A', 'N/A', 'N/A', 'N/A', 2) -> result; #Make the call to the validateSQL service $result = SOAP::Lite -> uri('SQL99Validator') -> proxy($result->{target}) -> validateSQL($result->{sessionId}, $result->{sessionKey}, $query, 'text') -> result; print $result->{data}, "\n"; # end of program, start of info section # How to run this program: # 1) echo 'select a from t where a like "c"' | ./sqlval.pl # 2) ./sqlval.pl # select a from t where a like "c" # ^D # # 3) ./sqlval.pl < aqueryinafile.sql # For more information about the Mimer SQL Validator web service please go to sqlvalidator.mimer.com # or Email olof dot edlund at upright dot se # The SQL Validator core technology was written by Ake Persson at Upright Database Technolgy (www.upright.se) # SOAP::Lite # To run this client you must have SOAP::Lite installed, you can install it with command: # perl -MCPAN -e 'install SOAP::Lite' # at the prompt. You can find more information about SOAP::Lite at www.soaplite.com # Parameters for openSession # 1) user name # 2) password, ignored for user anonymous # 3) The name of this client, if you write your own use that clients name # 4) The version of this client # 5) The target database if applicable, preferrably fetched programaticallly from DBI # 6) The target database version, preferrably fetched programatically from DBI # 7) The Connection technology, should almost always be DBI for Perl # 8) The Connection technology version, preferrably fetched from DBI # 9) Whether the client is interactive or not. 1) for interactive 2) for not interactive # Parameters for validateSQL # 1) target, the name of the server to be used. This may different from the server that you called openSession on for load balancing purposes. # 2) sessionId, the unique identifier for this session. # 3) sessionKey, this must be obtained from the openSession call. Otherwise the validateSQL service will return with an error. # 4) sql query, the query to be validated # 5) format, the format you want the result in. At the time of the writing of this client valid formats are text and html