1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130
|
/*
* This file contains the ODBCINSTGetProperties function.
*
* It is required by unixODBC (http://www.unixodbc.org) to define DSNs.
*
* This version is the setup for Mimer SQL (http://developer.mimer.se).
*
* Revision 1.1 2004/01/21 per.bengtsson@mimer.se
*
*/
#include <config.h>
#include <odbcinstext.h>
static const char *vHost[] =
{
"localhost",
NULL
};
static const char *vPort[] =
{
"1360",
NULL
};
static const char *vUser[] =
{
"SYSADM",
NULL
};
static const char *vDescr[] =
{
"Mimer SQL",
NULL
};
static const char *vYesNo[] =
{
"Yes",
"No",
NULL
};
int ODBCINSTGetProperties(HODBCINSTPROPERTY hLastProperty)
{
/*
* Database name
*/
hLastProperty->pNext = (HODBCINSTPROPERTY)malloc(sizeof(ODBCINSTPROPERTY));
hLastProperty = hLastProperty->pNext;
memset(hLastProperty, 0, sizeof(ODBCINSTPROPERTY));
hLastProperty->nPromptType = ODBCINST_PROMPTTYPE_TEXTEDIT;
strncpy(hLastProperty->szName, "Database", INI_MAX_PROPERTY_NAME);
strncpy(hLastProperty->szValue, "", INI_MAX_PROPERTY_VALUE);
hLastProperty->pszHelp = strdup("The name of the Mimer SQL database server");
/*
* Host name
*/
hLastProperty->pNext = (HODBCINSTPROPERTY)malloc(sizeof(ODBCINSTPROPERTY));
hLastProperty = hLastProperty->pNext;
memset(hLastProperty, 0, sizeof(ODBCINSTPROPERTY));
hLastProperty->nPromptType = ODBCINST_PROMPTTYPE_COMBOBOX;
hLastProperty->aPromptData = malloc(sizeof(vHost));
memcpy(hLastProperty->aPromptData, vHost, sizeof(vHost));
strncpy(hLastProperty->szName, "Host", INI_MAX_PROPERTY_NAME);
strncpy(hLastProperty->szValue, "", INI_MAX_PROPERTY_VALUE);
hLastProperty->pszHelp = strdup("Hostname or IP address of computer running the Mimer SQL database server");
/*
* Port number
*/
hLastProperty->pNext = (HODBCINSTPROPERTY)malloc(sizeof(ODBCINSTPROPERTY));
hLastProperty = hLastProperty->pNext;
memset(hLastProperty, 0, sizeof(ODBCINSTPROPERTY));
hLastProperty->nPromptType = ODBCINST_PROMPTTYPE_COMBOBOX;
hLastProperty->aPromptData = malloc(sizeof(vPort));
memcpy(hLastProperty->aPromptData, vPort, sizeof(vPort));
strncpy(hLastProperty->szName, "Port", INI_MAX_PROPERTY_NAME);
strncpy(hLastProperty->szValue, "", INI_MAX_PROPERTY_VALUE);
hLastProperty->pszHelp = strdup("Port number (default is 1360)");
/*
* User name
*/
hLastProperty->pNext = (HODBCINSTPROPERTY)malloc(sizeof(ODBCINSTPROPERTY));
hLastProperty = hLastProperty->pNext;
memset(hLastProperty, 0, sizeof(ODBCINSTPROPERTY));
hLastProperty->nPromptType = ODBCINST_PROMPTTYPE_COMBOBOX;
hLastProperty->aPromptData = malloc(sizeof(vUser));
memcpy(hLastProperty->aPromptData, vUser, sizeof(vUser));
strncpy(hLastProperty->szName, "User", INI_MAX_PROPERTY_NAME);
strncpy(hLastProperty->szValue, "", INI_MAX_PROPERTY_VALUE);
hLastProperty->pszHelp = strdup("Database user to connect as (optional)");
/*
* Password
*/
hLastProperty->pNext = (HODBCINSTPROPERTY)malloc(sizeof(ODBCINSTPROPERTY));
hLastProperty = hLastProperty->pNext;
memset(hLastProperty, 0, sizeof(ODBCINSTPROPERTY));
hLastProperty->nPromptType = ODBCINST_PROMPTTYPE_TEXTEDIT;
strncpy(hLastProperty->szName, "Password", INI_MAX_PROPERTY_NAME);
strncpy(hLastProperty->szValue, "", INI_MAX_PROPERTY_VALUE);
hLastProperty->pszHelp = strdup("Password for the database user (optional)");
/*
* Trace option
*/
hLastProperty->pNext = (HODBCINSTPROPERTY)malloc(sizeof(ODBCINSTPROPERTY));
hLastProperty = hLastProperty->pNext;
memset(hLastProperty, 0, sizeof(ODBCINSTPROPERTY));
hLastProperty->nPromptType = ODBCINST_PROMPTTYPE_LISTBOX;
hLastProperty->aPromptData = malloc(sizeof(vYesNo));
memcpy(hLastProperty->aPromptData, vYesNo, sizeof(vYesNo));
strncpy(hLastProperty->szName, "Trace", INI_MAX_PROPERTY_NAME);
strcpy(hLastProperty->szValue, "No");
hLastProperty->pszHelp = strdup("ODBC trace feature (optional)");
/*
* Trace file name
*/
hLastProperty->pNext = (HODBCINSTPROPERTY)malloc(sizeof(ODBCINSTPROPERTY));
hLastProperty = hLastProperty->pNext;
memset(hLastProperty, 0, sizeof(ODBCINSTPROPERTY));
hLastProperty->nPromptType = ODBCINST_PROMPTTYPE_FILENAME;
strncpy(hLastProperty->szName, "TraceFile", INI_MAX_PROPERTY_NAME);
strncpy(hLastProperty->szValue, "", INI_MAX_PROPERTY_VALUE);
hLastProperty->pszHelp = strdup("ODBC trace file name (used if Trace is enabled)");
return 1;
}
/**************************************************/
|