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