Subject: Enhanced support for ODBC connection strings.  The changes allow a
user to specify any ODBC compliant connection string prefixed by one of the 
keywords dsn, filedsn, or driver.  Changes also modify the handling of 
incomplete connection strings.  The user is required to include a server and
authentication parameters, otherwise an SQL error will be raised by the ODBC 
system.  Use of OS authentication is suggested if security is of concern.

Name: Tod Haren
Date: September 28, 2012

Variants affected: All (modified code is in open-fvs).

Description:
The database keywords DSNIN and DSNOUT will accept any connection string
prefixed with either 'dsn=', 'filedsn=', or 'driver='.  The connection string
is passed directly to the ODBC subsystem as-is.  The connection string must be
complete, including authentication, password, username, etc.  If this is a 
security concern the database server should be set to use OS user 
authentication.

Most RDBMS drivers should be supported.  Users of Excel and Access should 
continue to use the established FVS methods for these datasources.  These 
datasources require specific modifications to the SQL code which has been 
accounted for in all previous revisions.  Additionally, some datasources such
as text and DBF files are expected to fail due to incomplete and inconsitent 
SQL handling.

The changes were tested on Windows XP using SQL Express 2008R2.

Usage examples:

1) Simple case with a system ODBC DSN
    DSNIN
    dsn=fvsout_sqlserver

2) Windows Authentication with a driver connection string
    DSNOUT
    driver={SQL Server Native Client 10.0};server=.\sqlexpress;database=fvsout;trusted_connection=yes;

3) File DSN
    DSNIN
    filedsn=c:\projects\fvstest\fvstest.dsn;uid=fred;pwd=4st3r

Impact on users:
Minor impact on existing usage patterns only if users rely on ODBC prompting 
for server connection or authentication parameters.  DSN connection strings 
need to be modified to include server and authentication.

Files:
A changeNotes/2012.09.28_tharen.txt
M dbs/src/dbsopen.f
A tests/ODBC/conn_strings/dsn_test.fvs_summary.save
A tests/ODBC/conn_strings/dsn_test.key
A tests/ODBC/conn_strings/dsn_test.sum.save
A tests/ODBC/conn_strings/fvstest.dsn
A tests/ODBC/conn_strings/fvstest.mdf
A tests/ODBC/conn_strings/fvstest_log.ldf
A tests/ODBC/conn_strings/makefile
A tests/ODBC/conn_strings/purge_test.sql
A tests/ODBC/conn_strings/select_test.sql
