1 /**********************************************************************
2  * SQLDriverConnect
3  *
4  **********************************************************************
5  *
6  * This code was created by Peter Harvey (mostly during Christmas 98/99).
7  * This code is LGPL. Please ensure that this message remains in future
8  * distributions and uses of this code (thats about all I get out of it).
9  * - Peter Harvey pharvey@codebydesign.com
10  *
11  **********************************************************************/
12 
13 #include <config.h>
14 #include "driver.h"
15 
SQLDriverConnect(SQLHDBC hDrvDbc,SQLHWND hWnd,SQLCHAR * szConnStrIn,SQLSMALLINT nConnStrIn,SQLCHAR * szConnStrOut,SQLSMALLINT cbConnStrOutMax,SQLSMALLINT * pnConnStrOut,SQLUSMALLINT nDriverCompletion)16 SQLRETURN SQLDriverConnect(		SQLHDBC            hDrvDbc,
17 								SQLHWND            hWnd,
18 								SQLCHAR            *szConnStrIn,
19 								SQLSMALLINT        nConnStrIn,
20 								SQLCHAR            *szConnStrOut,
21 								SQLSMALLINT        cbConnStrOutMax,
22 								SQLSMALLINT        *pnConnStrOut,
23 								SQLUSMALLINT       nDriverCompletion
24                                 )
25 {
26 	HDRVDBC	hDbc	= (HDRVDBC)hDrvDbc;
27 
28 	/* SANITY CHECKS */
29     if( NULL == hDbc )
30         return SQL_INVALID_HANDLE;
31 
32 	sprintf( hDbc->szSqlMsg, "hDbc = $%08lX", hDbc );
33     logPushMsg( hDbc->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING, hDbc->szSqlMsg );
34 
35 
36     if( hDbc->bConnected == 1 )
37     {
38         logPushMsg( hDbc->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING, "SQL_ERROR Already connected" );
39         return SQL_ERROR;
40     }
41 
42     /*************************
43      * 1. parse nConnStrIn for connection options. Format is;
44      *      Property=Value;...
45      * 2. we may not have all options so handle as per DM request
46      * 3. fill as required szConnStrOut
47      *************************/
48     switch( nDriverCompletion )
49     {
50         case SQL_DRIVER_PROMPT:
51         case SQL_DRIVER_COMPLETE:
52         case SQL_DRIVER_COMPLETE_REQUIRED:
53         case SQL_DRIVER_NOPROMPT:
54         default:
55 			sprintf( hDbc->szSqlMsg, "Invalid nDriverCompletion=%d", nDriverCompletion );
56 			logPushMsg( hDbc->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING, hDbc->szSqlMsg );
57             break;
58     }
59 
60     /*************************
61      * 4. try to connect
62      * 5. set gathered options (ie USE Database or whatever)
63      * 6. set connection state
64      *      hDbc->bConnected = TRUE;
65      *      hDbc->ciActive = 0;
66      *************************/
67 
68     logPushMsg( hDbc->hLog, __FILE__, __FILE__, __LINE__, LOG_WARNING, LOG_WARNING, "SQL_ERROR This function not supported." );
69 
70     return SQL_ERROR;
71 }
72 
73 
74