44#include "wine/unicode.h"
105static SQLRETURN (*
pSQLForeignKeys)(
SQLHSTMT,
SQLCHAR*,
SQLSMALLINT,
SQLCHAR*,
SQLSMALLINT,
SQLCHAR*,
SQLSMALLINT,
SQLCHAR*,
SQLSMALLINT,
SQLCHAR*,
SQLSMALLINT,
SQLCHAR*,
SQLSMALLINT);
106static SQLRETURN (*
pSQLForeignKeysW)(
SQLHSTMT,
SQLWCHAR*,
SQLSMALLINT,
SQLWCHAR*,
SQLSMALLINT,
SQLWCHAR*,
SQLSMALLINT,
SQLWCHAR*,
SQLSMALLINT,
SQLWCHAR*,
SQLSMALLINT,
SQLWCHAR*,
SQLSMALLINT);
120static SQLRETURN (*
pSQLGetDescRec)(SQLHDESC,
SQLSMALLINT,
SQLCHAR*,
SQLSMALLINT,
SQLSMALLINT*,
SQLSMALLINT*,
SQLSMALLINT*,
SQLLEN*,
SQLSMALLINT*,
SQLSMALLINT*,
SQLSMALLINT*);
121static SQLRETURN (*
pSQLGetDescRecW)(SQLHDESC,
SQLSMALLINT,
SQLWCHAR*,
SQLSMALLINT,
SQLSMALLINT*,
SQLSMALLINT*,
SQLSMALLINT*,
SQLLEN*,
SQLSMALLINT*,
SQLSMALLINT*,
SQLSMALLINT*);
181#define ERROR_SQLERROR 1
182#define ERROR_LIBRARY_NOT_FOUND 2
217 TRACE (
"Driver settings are not currently replicated to the registry\n");
219 "Software\\ODBC\\ODBCINST.INI", 0,
NULL,
252 TRACE (
"Error %d replicating driver %s\n",
259 TRACE (
"Error %d checking for %s in drivers\n",
276 TRACE (
"Error %d closing %s key\n", reg_ret,
281 TRACE (
"Error %d ensuring driver key %s\n",
288 WARN (
"Unusually long driver name %s not replicated\n",
295 TRACE (
"Error %d enumerating drivers\n", (
int)sql_ret);
300 TRACE (
"Error %d closing hDrivers\n", reg_ret);
305 TRACE (
"Error %d opening HKLM\\S\\O\\OI\\Drivers\n", reg_ret);
309 TRACE (
"Error %d closing HKLM\\S\\O\\ODBCINST.INI\n", reg_ret);
314 TRACE (
"Error %d opening HKLM\\S\\O\\ODBCINST.INI\n", reg_ret);
318 WARN (
"May not have replicated all ODBC drivers to the registry\n");
353 const char *
which = is_user ?
"user" :
"system";
363 dirn = is_user ? SQL_FETCH_FIRST_USER : SQL_FETCH_FIRST_SYSTEM;
365 (
SQLCHAR*)dsn,
sizeof(dsn), &sizedsn,
379 static const char DRIVERKEY[] =
"Driver";
387 TRACE (
"Error %d replicating description of "
388 "%s(%s)\n", reg_ret, dsn,
desc);
394 TRACE (
"Error %d checking for description of %s\n",
400 TRACE (
"Error %d closing %s DSN key %s\n",
401 reg_ret,
which, dsn);
406 TRACE (
"Error %d opening %s DSN key %s\n",
407 reg_ret,
which, dsn);
413 WARN (
"Unusually long %s data source name %s (%s) not "
420 TRACE (
"Error %d enumerating %s datasources\n",
421 (
int)sql_ret,
which);
426 TRACE (
"Error %d closing %s ODBC.INI registry key\n", reg_ret,
432 TRACE (
"Error %d creating/opening %s ODBC.INI registry key\n",
437 WARN (
"May not have replicated all %s ODBC DSNs to the registry\n",
472 TRACE (
"Error %d freeing the SQL environment.\n", (
int)sql_ret);
477 TRACE (
"Error %d opening an SQL environment.\n", (
int)sql_ret);
478 WARN (
"The external ODBC settings have not been replicated to the"
521 const char *
s =
getenv(
"LIB_ODBC_DRIVER_MANAGER");
525 if (!
s || !
s[0])
s = SONAME_LIBODBC;
527 if (!
s || !
s[0])
goto failed;
533 TRACE(
"Opened library %s\n",
s);
561#define LOAD_FUNC(name) \
562 if ((p##name = wine_dlsym( dmHandle, #name, error, sizeof(error) ))); \
563 else WARN( "Failed to load %s: %s\n", #name, error )
699 TRACE(
"Not ready\n");
715 TRACE(
"(EnvironmentHandle %p)\n", EnvironmentHandle);
720 TRACE(
"Not ready\n");
725 TRACE(
"Returning %d, EnvironmentHandle %p\n",
ret, *EnvironmentHandle);
741 WARN(
"ProxyODBC: Cannot load ODBC driver manager library.\n");
752 TRACE (
"Not ready\n");
773 TRACE(
"Not ready\n");
778 TRACE (
"Returning %d, StatementHandle %p\n",
ret, *StatementHandle);
794 WARN(
"ProxyODBC: Cannot load ODBC driver manager library.\n");
830 TRACE(
"(StatementHandle %p, ColumnNumber %d, TargetType %d, TargetValue %p, BufferLength %s, StrLen_or_Ind %p)\n",
835 TRACE(
"Not ready\n");
862 TRACE(
"(StatementHandle %p, ParameterNumber %d, ValueType %d, ParameterType %d, LengthPrecision %s,"
863 " ParameterScale %d, ParameterValue %p, StrLen_or_Ind %p)\n", StatementHandle, ParameterNumber,
ValueType,
881 TRACE(
"(StatementHandle %p)\n", StatementHandle);
897 TRACE(
"(StatementHandle %p)\n", StatementHandle);
916 TRACE(
"(StatementHandle %p, ColumnNumber %d, FieldIdentifier %d, CharacterAttribute %p, BufferLength %d,"
917 " StringLength %p, NumericAttribute %p)\n", StatementHandle, ColumnNumber, FieldIdentifier,
918 CharacterAttribute,
BufferLength, StringLength, NumericAttribute);
923 StringLength, NumericAttribute);
937 TRACE(
"(StatementHandle %p, CatalogName %s, NameLength1 %d, SchemaName %s, NameLength2 %d, TableName %s,"
938 " NameLength3 %d, ColumnName %s, NameLength4 %d)\n", StatementHandle,
939 debugstr_an((
const char *)CatalogName, NameLength1), NameLength1,
940 debugstr_an((
const char *)SchemaName, NameLength2), NameLength2,
941 debugstr_an((
const char *)TableName, NameLength3), NameLength3,
942 debugstr_an((
const char *)ColumnName, NameLength4), NameLength4);
946 ret =
pSQLColumns(StatementHandle, CatalogName, NameLength1, SchemaName, NameLength2, TableName,
947 NameLength3, ColumnName, NameLength4);
961 TRACE(
"(ConnectionHandle %p, ServerName %s, NameLength1 %d, UserName %s, NameLength2 %d, Authentication %s,"
963 debugstr_an((
const char *)ServerName, NameLength1), NameLength1,
964 debugstr_an((
const char *)UserName, NameLength2), NameLength2,
965 debugstr_an((
const char *)Authentication, NameLength3), NameLength3);
981 TRACE(
"(SourceDescHandle %p, TargetDescHandle %p)\n", SourceDescHandle, TargetDescHandle);
999 TRACE(
"(EnvironmentHandle %p, Direction %d, ServerName %p, BufferLength1 %d, NameLength1 %p, Description %p,"
1000 " BufferLength2 %d, NameLength2 %p)\n", EnvironmentHandle,
Direction, ServerName, BufferLength1,
1001 NameLength1,
Description, BufferLength2, NameLength2);
1006 BufferLength2, NameLength2);
1009 if (ServerName && NameLength1 && *NameLength1 > 0)
1010 TRACE(
" DataSource %s",
debugstr_an((
const char *)ServerName, *NameLength1));
1011 if (
Description && NameLength2 && *NameLength2 > 0)
1026 TRACE(
"(EnvironmentHandle %p, Direction %d, ServerName %p, BufferLength1 %d, NameLength1 %p, Description %p,"
1027 " BufferLength2 %d, NameLength2 %p)\n", EnvironmentHandle,
Direction, ServerName, BufferLength1,
1028 NameLength1,
Description, BufferLength2, NameLength2);
1033 BufferLength2, NameLength2);
1036 if (ServerName && NameLength1 && *NameLength1 > 0)
1037 TRACE(
" DataSource %s",
debugstr_an((
const char *)ServerName, *NameLength1));
1038 if (
Description && NameLength2 && *NameLength2 > 0)
1057 TRACE(
"(StatementHandle %p, ColumnNumber %d, ColumnName %p, BufferLength %d, NameLength %p, DataType %p,"
1058 " ColumnSize %p, DecimalDigits %p, Nullable %p)\n", StatementHandle, ColumnNumber, ColumnName,
1062 if (!NameLength) NameLength = &
dummy;
1065 DecimalDigits, Nullable);
1068 if (ColumnName && NameLength)
TRACE(
" ColumnName %s\n",
debugstr_an((
const char *)ColumnName, *NameLength));
1071 if (DecimalDigits)
TRACE(
" DecimalDigits %d\n", *DecimalDigits);
1072 if (Nullable)
TRACE(
" Nullable %d\n", *Nullable);
1102 TRACE(
"(HandleType %d, Handle %p, CompletionType %d)\n", HandleType,
Handle, CompletionType);
1120 TRACE(
"(EnvironmentHandle %p, ConnectionHandle %p, StatementHandle %p, Sqlstate %p, NativeError %p,"
1121 " MessageText %p, BufferLength %d, TextLength %p)\n", EnvironmentHandle,
ConnectionHandle,
1122 StatementHandle, Sqlstate, NativeError, MessageText,
BufferLength, TextLength);
1132 TRACE(
" Error %d\n", *NativeError);
1133 TRACE(
" MessageText %s\n",
debugstr_an((
const char *)MessageText, *TextLength));
1147 TRACE(
"(StatementHandle %p, StatementText %s, TextLength %d)\n", StatementHandle,
1148 debugstr_an((
const char *)StatementText, TextLength), TextLength);
1164 TRACE(
"(StatementHandle %p)\n", StatementHandle);
1180 TRACE(
"(StatementHandle %p)\n", StatementHandle);
1196 TRACE(
"(StatementHandle %p, FetchOrientation %d, FetchOffset %s)\n", StatementHandle, FetchOrientation,
1229 TRACE(
"(EnvironmentHandle %p)\n", EnvironmentHandle);
1245 TRACE(
"(HandleType %d, Handle %p)\n", HandleType,
Handle);
1261 TRACE(
"(StatementHandle %p, Option %d)\n", StatementHandle, Option);
1278 TRACE(
"(ConnectionHandle %p, Attribute %d, Value %p, BufferLength %d, StringLength %p)\n",
ConnectionHandle,
1312 TRACE(
"(StatementHandle %p, CursorName %p, BufferLength %d, NameLength %p)\n", StatementHandle, CursorName,
1330 TRACE(
"(StatementHandle %p, ColumnNumber %d, TargetType %d, TargetValue %p, BufferLength %s, StrLen_or_Ind %p)\n",
1348 TRACE(
"(DescriptorHandle %p, RecNumber %d, FieldIdentifier %d, Value %p, BufferLength %d, StringLength %p)\n",
1349 DescriptorHandle, RecNumber, FieldIdentifier,
Value,
BufferLength, StringLength);
1368 TRACE(
"(DescriptorHandle %p, RecNumber %d, Name %p, BufferLength %d, StringLength %p, Type %p, SubType %p,"
1369 " Length %p, Precision %p, Scale %p, Nullable %p)\n", DescriptorHandle, RecNumber,
Name,
BufferLength,
1370 StringLength,
Type, SubType,
Length, Precision, Scale, Nullable);
1375 Precision, Scale, Nullable);
1389 TRACE(
"(HandleType %d, Handle %p, RecNumber %d, DiagIdentifier %d, DiagInfo %p, BufferLength %d,"
1390 " StringLength %p)\n", HandleType,
Handle, RecNumber, DiagIdentifier, DiagInfo,
BufferLength, StringLength);
1408 TRACE(
"(HandleType %d, Handle %p, RecNumber %d, Sqlstate %p, NativeError %p, MessageText %p, BufferLength %d,"
1409 " TextLength %p)\n", HandleType,
Handle, RecNumber, Sqlstate, NativeError, MessageText,
BufferLength,
1427 TRACE(
"(EnvironmentHandle %p, Attribute %d, Value %p, BufferLength %d, StringLength %p)\n",
1461 TRACE(
"(ConnectionHandle, %p, InfoType %d, InfoValue %p, BufferLength %d, StringLength %p)\n",
ConnectionHandle,
1466 WARN(
"Unexpected NULL InfoValue address\n");
1485 TRACE(
"(StatementHandle %p, Attribute %d, Value %p, BufferLength %d, StringLength %p)\n", StatementHandle,
1490 WARN(
"Unexpected NULL Value return address\n");
1508 TRACE(
"(StatementHandle %p, Option %d, Value %p)\n", StatementHandle, Option,
Value);
1524 TRACE(
"(StatementHandle %p, DataType %d)\n", StatementHandle,
DataType);
1540 TRACE(
"(StatementHandle %p, ColumnCount %p)\n", StatementHandle, ColumnCount);
1545 TRACE(
"Returning %d ColumnCount %d\n",
ret, *ColumnCount);
1556 TRACE(
"(StatementHandle %p, Value %p)\n", StatementHandle,
Value);
1572 TRACE(
"(StatementHandle %p, StatementText %s, TextLength %d)\n", StatementHandle,
1573 debugstr_an((
const char *)StatementText, TextLength), TextLength);
1605 TRACE(
"(StatementHandle %p, RowCount %p)\n", StatementHandle, RowCount);
1656 TRACE(
"(StatementHandle %p, CursorName %s, NameLength %d)\n", StatementHandle,
1657 debugstr_an((
const char *)CursorName, NameLength), NameLength);
1674 TRACE(
"(DescriptorHandle %p, RecNumber %d, FieldIdentifier %d, Value %p, BufferLength %d)\n", DescriptorHandle,
1693 TRACE(
"(DescriptorHandle %p, RecNumber %d, Type %d, SubType %d, Length %s, Precision %d, Scale %d, Data %p,"
1695 Precision, Scale,
Data, StringLength, Indicator);
1700 StringLength, Indicator);
1713 TRACE(
"(EnvironmentHandle %p, Attribute %d, Value %p, StringLength %d)\n", EnvironmentHandle, Attribute,
Value,
1732 TRACE(
"(StatementHandle %p, ParameterNumber %d, ValueType %d, ParameterType %d, LengthPrecision %s,"
1733 " ParameterScale %d, ParameterValue %p, StrLen_or_Ind %p)\n", StatementHandle, ParameterNumber,
ValueType,
1752 TRACE(
"(StatementHandle %p, Attribute %d, Value %p, StringLength %d)\n", StatementHandle, Attribute,
Value,
1788 TRACE(
"(StatementHandle %p, IdentifierType %d, CatalogName %s, NameLength1 %d, SchemaName %s, NameLength2 %d,"
1789 " TableName %s, NameLength3 %d, Scope %d, Nullable %d)\n", StatementHandle, IdentifierType,
1790 debugstr_an((
const char *)CatalogName, NameLength1), NameLength1,
1791 debugstr_an((
const char *)SchemaName, NameLength2), NameLength2,
1792 debugstr_an((
const char *)TableName, NameLength3), NameLength3, Scope, Nullable);
1797 NameLength2, TableName, NameLength3, Scope, Nullable);
1811 TRACE(
"(StatementHandle %p, CatalogName %s, NameLength1 %d SchemaName %s, NameLength2 %d, TableName %s"
1812 " NameLength3 %d, Unique %d, Reserved %d)\n", StatementHandle,
1813 debugstr_an((
const char *)CatalogName, NameLength1), NameLength1,
1814 debugstr_an((
const char *)SchemaName, NameLength2), NameLength2,
1819 ret =
pSQLStatistics(StatementHandle, CatalogName, NameLength1, SchemaName, NameLength2, TableName,
1834 TRACE(
"(StatementHandle %p, CatalogName %s, NameLength1 %d, SchemaName %s, NameLength2 %d, TableName %s,"
1835 " NameLength3 %d, TableType %s, NameLength4 %d)\n", StatementHandle,
1836 debugstr_an((
const char *)CatalogName, NameLength1), NameLength1,
1837 debugstr_an((
const char *)SchemaName, NameLength2), NameLength2,
1838 debugstr_an((
const char *)TableName, NameLength3), NameLength3,
1839 debugstr_an((
const char *)TableType, NameLength4), NameLength4);
1843 ret =
pSQLTables(StatementHandle, CatalogName, NameLength1, SchemaName, NameLength2, TableName, NameLength3,
1844 TableType, NameLength4);
1856 TRACE(
"(EnvironmentHandle %p, ConnectionHandle %p, CompletionType %d)\n", EnvironmentHandle,
ConnectionHandle,
1875 TRACE(
"(hdbc %p, szConnStrIn %s, cbConnStrIn %d, szConnStrOut %p, cbConnStrOutMax %d, pcbConnStrOut %p)\n",
1876 hdbc,
debugstr_an((
const char *)szConnStrIn, cbConnStrIn), cbConnStrIn, szConnStrOut, cbConnStrOutMax,
1881 ret =
pSQLBrowseConnect(hdbc, szConnStrIn, cbConnStrIn, szConnStrOut, cbConnStrOutMax, pcbConnStrOut);
1893 TRACE(
"(StatementHandle %p, Operation %d)\n", StatementHandle,
Operation);
1911 TRACE(
"(hstmt %p, icol %d, fDescType %d, rgbDesc %p, cbDescMax %d, pcbDesc %p, pfDesc %p)\n", hstmt, icol,
1912 fDescType, rgbDesc, cbDescMax, pcbDesc, pfDesc);
1930 TRACE(
"(hstmt %p, szCatalogName %s, cbCatalogName %d, szSchemaName %s, cbSchemaName %d, szTableName %s,"
1931 " cbTableName %d, szColumnName %s, cbColumnName %d)\n", hstmt,
1932 debugstr_an((
const char *)szCatalogName, cbCatalogName), cbCatalogName,
1933 debugstr_an((
const char *)szSchemaName, cbSchemaName), cbSchemaName,
1934 debugstr_an((
const char *)szTableName, cbTableName), cbTableName,
1935 debugstr_an((
const char *)szColumnName, cbColumnName), cbColumnName);
1940 szTableName, cbTableName, szColumnName, cbColumnName);
1953 TRACE(
"(hstmt %p, ipar %d, pfSqlType %p, pcbParamDef %p, pibScale %p, pfNullable %p)\n", hstmt, ipar,
1954 pfSqlType, pcbParamDef, pibScale, pfNullable);
1971 TRACE(
"(hstmt %p, fFetchType %d, irow %s, pcrow %p, rgfRowStatus %p)\n", hstmt, fFetchType,
debugstr_sqllen(irow),
1972 pcrow, rgfRowStatus);
1992 TRACE(
"(hstmt %p, szPkCatalogName %s, cbPkCatalogName %d, szPkSchemaName %s, cbPkSchemaName %d,"
1993 " szPkTableName %s, cbPkTableName %d, szFkCatalogName %s, cbFkCatalogName %d, szFkSchemaName %s,"
1994 " cbFkSchemaName %d, szFkTableName %s, cbFkTableName %d)\n", hstmt,
1995 debugstr_an((
const char *)szPkCatalogName, cbPkCatalogName), cbPkCatalogName,
1996 debugstr_an((
const char *)szPkSchemaName, cbPkSchemaName), cbPkSchemaName,
1997 debugstr_an((
const char *)szPkTableName, cbPkTableName), cbPkTableName,
1998 debugstr_an((
const char *)szFkCatalogName, cbFkCatalogName), cbFkCatalogName,
1999 debugstr_an((
const char *)szFkSchemaName, cbFkSchemaName), cbFkSchemaName,
2000 debugstr_an((
const char *)szFkTableName, cbFkTableName), cbFkTableName);
2004 ret =
pSQLForeignKeys(hstmt, szPkCatalogName, cbPkCatalogName, szPkSchemaName, cbPkSchemaName, szPkTableName,
2005 cbPkTableName, szFkCatalogName, cbFkCatalogName, szFkSchemaName, cbFkSchemaName,
2006 szFkTableName, cbFkTableName);
2018 TRACE(
"(%p)\n", StatementHandle);
2035 TRACE(
"(hdbc %p, szSqlStrIn %s, cbSqlStrIn %d, szSqlStr %p, cbSqlStrMax %d, pcbSqlStr %p)\n", hdbc,
2036 debugstr_an((
const char *)szSqlStrIn, cbSqlStrIn), cbSqlStrIn, szSqlStr, cbSqlStrMax, pcbSqlStr);
2040 ret =
pSQLNativeSql(hdbc, szSqlStrIn, cbSqlStrIn, szSqlStr, cbSqlStrMax, pcbSqlStr);
2052 TRACE(
"(hstmt %p, pcpar %p)\n", hstmt, pcpar);
2086 TRACE(
"(hstmt %p, szCatalogName %s, cbCatalogName %d, szSchemaName %s, cbSchemaName %d, szTableName %s,"
2087 " cbTableName %d)\n", hstmt,
2088 debugstr_an((
const char *)szCatalogName, cbCatalogName), cbCatalogName,
2089 debugstr_an((
const char *)szSchemaName, cbSchemaName), cbSchemaName,
2090 debugstr_an((
const char *)szTableName, cbTableName), cbTableName);
2094 ret =
pSQLPrimaryKeys(hstmt, szCatalogName, cbCatalogName, szSchemaName, cbSchemaName, szTableName, cbTableName);
2108 TRACE(
"(hstmt %p, szCatalogName %s, cbCatalogName %d, szSchemaName %s, cbSchemaName %d, szProcName %s,"
2109 " cbProcName %d, szColumnName %s, cbColumnName %d)\n", hstmt,
2110 debugstr_an((
const char *)szCatalogName, cbCatalogName), cbCatalogName,
2111 debugstr_an((
const char *)szSchemaName, cbSchemaName), cbSchemaName,
2112 debugstr_an((
const char *)szProcName, cbProcName), cbProcName,
2113 debugstr_an((
const char *)szColumnName, cbColumnName), cbColumnName);
2118 cbProcName, szColumnName, cbColumnName);
2132 TRACE(
"(hstmt %p, szCatalogName %s, cbCatalogName %d, szSchemaName %s, cbSchemaName %d, szProcName %s,"
2133 " cbProcName %d)\n", hstmt,
2134 debugstr_an((
const char *)szCatalogName, cbCatalogName), cbCatalogName,
2135 debugstr_an((
const char *)szSchemaName, cbSchemaName), cbSchemaName,
2136 debugstr_an((
const char *)szProcName, cbProcName), cbProcName);
2140 ret =
pSQLProcedures(hstmt, szCatalogName, cbCatalogName, szSchemaName, cbSchemaName, szProcName, cbProcName);
2152 TRACE(
"(hstmt %p, irow %s, fOption %d, fLock %d)\n", hstmt,
debugstr_sqlulen(irow), fOption, fLock);
2170 TRACE(
"(hstmt %p, szCatalogName %s, cbCatalogName %d, szSchemaName %s, cbSchemaName %d, szTableName %s,"
2171 " cbTableName %d)\n", hstmt,
2172 debugstr_an((
const char *)szCatalogName, cbCatalogName), cbCatalogName,
2173 debugstr_an((
const char *)szSchemaName, cbSchemaName), cbSchemaName,
2174 debugstr_an((
const char *)szTableName, cbTableName), cbTableName);
2194 TRACE(
"(EnvironmentHandle %p, Direction %d, szDriverDesc %p, cbDriverDescMax %d, pcbDriverDesc %p,"
2195 " DriverAttributes %p, cbDriverAttrMax %d, pcbDriverAttr %p)\n", EnvironmentHandle, fDirection,
2196 szDriverDesc, cbDriverDescMax, pcbDriverDesc,
szDriverAttributes, cbDriverAttrMax, pcbDriverAttr);
2200 ret =
pSQLDrivers(EnvironmentHandle, fDirection, szDriverDesc, cbDriverDescMax, pcbDriverDesc,
2204 ERR_(winediag)(
"No ODBC drivers could be found. Check the settings for your libodbc provider.\n");
2220 TRACE(
"(hstmt %p, ipar %d, fParamType %d, fCType %d, fSqlType %d, cbColDef %s, ibScale %d, rgbValue %p,"
2221 " cbValueMax %s, pcbValue %p)\n", hstmt, ipar, fParamType, fCType, fSqlType,
debugstr_sqlulen(cbColDef),
2226 ret =
pSQLBindParameter(hstmt, ipar, fParamType, fCType, fSqlType, cbColDef, ibScale, rgbValue, cbValueMax,
2241 TRACE(
"(hdbc %p, hwnd %p, ConnectionString %s, Length %d, conn_str_out %p, conn_str_out_max %d,"
2242 " ptr_conn_str_out %p, driver_completion %d)\n", hdbc,
hwnd,
2244 ptr_conn_str_out, driver_completion);
2249 ptr_conn_str_out, driver_completion);
2262 TRACE(
"(statement_handle %p, f_concurrency %d, crow_keyset %s, crow_rowset %d)\n", statement_handle,
2282 SQL_DESC_BASE_COLUMN_NAME,
2283 SQL_DESC_BASE_TABLE_NAME,
2284 SQL_DESC_CATALOG_NAME,
2286 SQL_DESC_LITERAL_PREFIX,
2287 SQL_DESC_LITERAL_SUFFIX,
2288 SQL_DESC_LOCAL_TYPE_NAME,
2290 SQL_DESC_SCHEMA_NAME,
2291 SQL_DESC_TABLE_NAME,
2297 if (attrList[
i] == fDescType)
return TRUE;
2311 TRACE(
"(hstmt %p, icol %d, fDescType %d, rgbDesc %p, cbDescMax %d, pcbDesc %p, pfDesc %p)\n", hstmt, icol,
2312 fDescType, rgbDesc, cbDescMax, pcbDesc, pfDesc);
2321 TRACE(
"CHEAT: resetting name length for ADO\n");
2338 TRACE(
"(ConnectionHandle %p, ServerName %s, NameLength1 %d, UserName %s, NameLength2 %d, Authentication %s,"
2359 TRACE(
"(StatementHandle %p, ColumnNumber %d, ColumnName %p, BufferLength %d, NameLength %p, DataType %p,"
2360 " ColumnSize %p, DecimalDigits %p, Nullable %p)\n", StatementHandle, ColumnNumber, ColumnName,
2364 if (!NameLength) NameLength = &
dummy;
2367 DecimalDigits, Nullable);
2370 if (ColumnName && NameLength)
TRACE(
"ColumnName %s\n",
debugstr_wn(ColumnName, *NameLength));
2373 if (DecimalDigits)
TRACE(
"DecimalDigits %d\n", *DecimalDigits);
2374 if (Nullable)
TRACE(
"Nullable %d\n", *Nullable);
2390 TRACE(
"(EnvironmentHandle %p, ConnectionHandle %p, StatementHandle %p, Sqlstate %p, NativeError %p,"
2391 " MessageText %p, BufferLength %d, TextLength %p)\n", EnvironmentHandle,
ConnectionHandle,
2392 StatementHandle, Sqlstate, NativeError, MessageText,
BufferLength, TextLength);
2402 TRACE(
" Error %d\n", *NativeError);
2417 TRACE(
"(StatementHandle %p, StatementText %s, TextLength %d)\n", StatementHandle,
2418 debugstr_wn(StatementText, TextLength), TextLength);
2435 TRACE(
"(StatementHandle %p, CursorName %p, BufferLength %d, NameLength %p)\n", StatementHandle, CursorName,
2452 TRACE(
"(StatementHandle %p, StatementText %s, TextLength %d)\n", StatementHandle,
2453 debugstr_wn(StatementText, TextLength), TextLength);
2469 TRACE(
"(StatementHandle %p, CursorName %s, NameLength %d)\n", StatementHandle,
2485 SQLLEN *NumericAttribute)
2489 TRACE(
"StatementHandle %p ColumnNumber %d FieldIdentifier %d CharacterAttribute %p BufferLength %d"
2490 " StringLength %p NumericAttribute %p\n", StatementHandle, ColumnNumber, FieldIdentifier,
2491 CharacterAttribute,
BufferLength, StringLength, NumericAttribute);
2496 StringLength, NumericAttribute);
2499 StringLength && *StringLength !=
lstrlenW(CharacterAttribute) * 2)
2501 TRACE(
"CHEAT: resetting name length for ADO\n");
2502 *StringLength =
lstrlenW(CharacterAttribute) * 2;
2517 TRACE(
"(ConnectionHandle %p, Attribute %d, Value %p, BufferLength %d, StringLength %p)\n",
ConnectionHandle,
2535 TRACE(
"(DescriptorHandle %p, RecNumber %d, FieldIdentifier %d, Value %p, BufferLength %d, StringLength %p)\n",
2536 DescriptorHandle, RecNumber, FieldIdentifier,
Value,
BufferLength, StringLength);
2555 TRACE(
"(DescriptorHandle %p, RecNumber %d, Name %p, BufferLength %d, StringLength %p, Type %p, SubType %p,"
2556 " Length %p, Precision %p, Scale %p, Nullable %p)\n", DescriptorHandle, RecNumber,
Name,
BufferLength,
2557 StringLength,
Type, SubType,
Length, Precision, Scale, Nullable);
2562 Precision, Scale, Nullable);
2576 TRACE(
"(HandleType %d, Handle %p, RecNumber %d, DiagIdentifier %d, DiagInfo %p, BufferLength %d,"
2577 " StringLength %p)\n", HandleType,
Handle, RecNumber, DiagIdentifier, DiagInfo,
BufferLength, StringLength);
2595 TRACE(
"(HandleType %d, Handle %p, RecNumber %d, Sqlstate %p, NativeError %p, MessageText %p, BufferLength %d,"
2596 " TextLength %p)\n", HandleType,
Handle, RecNumber, Sqlstate, NativeError, MessageText,
BufferLength,
2614 TRACE(
"(StatementHandle %p, Attribute %d, Value %p, BufferLength %d, StringLength %p)\n", StatementHandle,
2619 WARN(
"Unexpected NULL Value return address\n");
2657 TRACE(
"(StatementHandle %p, CatalogName %s, NameLength1 %d, SchemaName %s, NameLength2 %d, TableName %s,"
2658 " NameLength3 %d, ColumnName %s, NameLength4 %d)\n", StatementHandle,
2664 ret =
pSQLColumnsW(StatementHandle, CatalogName, NameLength1, SchemaName, NameLength2, TableName, NameLength3,
2665 ColumnName, NameLength4);
2679 TRACE(
"(ConnectionHandle %p, WindowHandle %p, InConnectionString %s, Length %d, OutConnectionString %p,"
2680 " BufferLength %d, Length2 %p, DriverCompletion %d)\n",
ConnectionHandle, WindowHandle,
2716 TRACE(
"(ConnectionHandle, %p, InfoType %d, InfoValue %p, BufferLength %d, StringLength %p)\n",
ConnectionHandle,
2721 WARN(
"Unexpected NULL InfoValue address\n");
2739 TRACE(
"(StatementHandle %p, DataType %d)\n", StatementHandle,
DataType);
2774 TRACE(
"(StatementHandle %p, IdentifierType %d, CatalogName %s, NameLength1 %d, SchemaName %s, NameLength2 %d,"
2775 " TableName %s, NameLength3 %d, Scope %d, Nullable %d)\n", StatementHandle, IdentifierType,
2777 debugstr_wn(TableName, NameLength3), NameLength3, Scope, Nullable);
2782 NameLength2, TableName, NameLength3, Scope, Nullable);
2796 TRACE(
"(StatementHandle %p, CatalogName %s, NameLength1 %d SchemaName %s, NameLength2 %d, TableName %s"
2797 " NameLength3 %d, Unique %d, Reserved %d)\n", StatementHandle,
2803 ret =
pSQLStatisticsW(StatementHandle, CatalogName, NameLength1, SchemaName, NameLength2, TableName,
2818 TRACE(
"(StatementHandle %p, CatalogName %s, NameLength1 %d, SchemaName %s, NameLength2 %d, TableName %s,"
2819 " NameLength3 %d, TableType %s, NameLength4 %d)\n", StatementHandle,
2825 ret =
pSQLTablesW(StatementHandle, CatalogName, NameLength1, SchemaName, NameLength2, TableName, NameLength3,
2826 TableType, NameLength4);
2840 TRACE(
"(hdbc %p, szConnStrIn %s, cbConnStrIn %d, szConnStrOut %p, cbConnStrOutMax %d, pcbConnStrOut %p)\n",
2841 hdbc,
debugstr_wn(szConnStrIn, cbConnStrIn), cbConnStrIn, szConnStrOut, cbConnStrOutMax, pcbConnStrOut);
2845 ret =
pSQLBrowseConnectW(hdbc, szConnStrIn, cbConnStrIn, szConnStrOut, cbConnStrOutMax, pcbConnStrOut);
2859 TRACE(
"(hstmt %p, szCatalogName %s, cbCatalogName %d, szSchemaName %s, cbSchemaName %d, szTableName %s,"
2860 " cbTableName %d, szColumnName %s, cbColumnName %d)\n", hstmt,
2861 debugstr_wn(szCatalogName, cbCatalogName), cbCatalogName,
2862 debugstr_wn(szSchemaName, cbSchemaName), cbSchemaName,
2863 debugstr_wn(szTableName, cbTableName), cbTableName,
2864 debugstr_wn(szColumnName, cbColumnName), cbColumnName);
2869 cbTableName, szColumnName, cbColumnName);
2883 TRACE(
"(EnvironmentHandle %p, Direction %d, ServerName %p, BufferLength1 %d, NameLength1 %p, Description %p,"
2884 " BufferLength2 %d, NameLength2 %p)\n", EnvironmentHandle,
Direction, ServerName, BufferLength1,
2885 NameLength1,
Description, BufferLength2, NameLength2);
2890 BufferLength2, NameLength2);
2894 if (ServerName && NameLength1 && *NameLength1 > 0)
2896 if (
Description && NameLength2 && *NameLength2 > 0)
2916 TRACE(
"(hstmt %p, szPkCatalogName %s, cbPkCatalogName %d, szPkSchemaName %s, cbPkSchemaName %d,"
2917 " szPkTableName %s, cbPkTableName %d, szFkCatalogName %s, cbFkCatalogName %d, szFkSchemaName %s,"
2918 " cbFkSchemaName %d, szFkTableName %s, cbFkTableName %d)\n", hstmt,
2919 debugstr_wn(szPkCatalogName, cbPkCatalogName), cbPkCatalogName,
2920 debugstr_wn(szPkSchemaName, cbPkSchemaName), cbPkSchemaName,
2921 debugstr_wn(szPkTableName, cbPkTableName), cbPkTableName,
2922 debugstr_wn(szFkCatalogName, cbFkCatalogName), cbFkCatalogName,
2923 debugstr_wn(szFkSchemaName, cbFkSchemaName), cbFkSchemaName,
2924 debugstr_wn(szFkTableName, cbFkTableName), cbFkTableName);
2928 ret =
pSQLForeignKeysW(hstmt, szPkCatalogName, cbPkCatalogName, szPkSchemaName, cbPkSchemaName, szPkTableName,
2929 cbPkTableName, szFkCatalogName, cbFkCatalogName, szFkSchemaName, cbFkSchemaName,
2930 szFkTableName, cbFkTableName);
2943 TRACE(
"(hdbc %p, szSqlStrIn %s, cbSqlStrIn %d, szSqlStr %p, cbSqlStrMax %d, pcbSqlStr %p)\n", hdbc,
2944 debugstr_wn(szSqlStrIn, cbSqlStrIn), cbSqlStrIn, szSqlStr, cbSqlStrMax, pcbSqlStr);
2948 ret =
pSQLNativeSqlW(hdbc, szSqlStrIn, cbSqlStrIn, szSqlStr, cbSqlStrMax, pcbSqlStr);
2962 TRACE(
"(hstmt %p, szCatalogName %s, cbCatalogName %d, szSchemaName %s, cbSchemaName %d, szTableName %s,"
2963 " cbTableName %d)\n", hstmt,
2964 debugstr_wn(szCatalogName, cbCatalogName), cbCatalogName,
2965 debugstr_wn(szSchemaName, cbSchemaName), cbSchemaName,
2966 debugstr_wn(szTableName, cbTableName), cbTableName);
2970 ret =
pSQLPrimaryKeysW(hstmt, szCatalogName, cbCatalogName, szSchemaName, cbSchemaName, szTableName, cbTableName);
2984 TRACE(
"(hstmt %p, szCatalogName %s, cbCatalogName %d, szSchemaName %s, cbSchemaName %d, szProcName %s,"
2985 " cbProcName %d, szColumnName %s, cbColumnName %d)\n", hstmt,
2986 debugstr_wn(szCatalogName, cbCatalogName), cbCatalogName,
2987 debugstr_wn(szSchemaName, cbSchemaName), cbSchemaName,
2989 debugstr_wn(szColumnName, cbColumnName), cbColumnName);
2994 cbProcName, szColumnName, cbColumnName);
3008 TRACE(
"(hstmt %p, szCatalogName %s, cbCatalogName %d, szSchemaName %s, cbSchemaName %d, szProcName %s,"
3009 " cbProcName %d)\n", hstmt,
debugstr_wn(szCatalogName, cbCatalogName), cbCatalogName,
3014 ret =
pSQLProceduresW(hstmt, szCatalogName, cbCatalogName, szSchemaName, cbSchemaName, szProcName, cbProcName);
3028 TRACE(
"(hstmt %p, szCatalogName %s, cbCatalogName %d, szSchemaName %s, cbSchemaName %d, szTableName %s,"
3029 " cbTableName %d)\n", hstmt,
debugstr_wn(szCatalogName, cbCatalogName), cbCatalogName,
3030 debugstr_wn(szSchemaName, cbSchemaName), cbSchemaName,
debugstr_wn(szTableName, cbTableName), cbTableName);
3050 TRACE(
"(EnvironmentHandle %p, Direction %d, szDriverDesc %p, cbDriverDescMax %d, pcbDriverDesc %p,"
3051 " DriverAttributes %p, cbDriverAttrMax %d, pcbDriverAttr %p)\n", EnvironmentHandle, fDirection,
3052 szDriverDesc, cbDriverDescMax, pcbDriverDesc,
szDriverAttributes, cbDriverAttrMax, pcbDriverAttr);
3056 ret =
pSQLDriversW(EnvironmentHandle, fDirection, szDriverDesc, cbDriverDescMax, pcbDriverDesc,
3060 ERR_(winediag)(
"No ODBC drivers could be found. Check the settings for your libodbc provider.\n");
3074 TRACE(
"(DescriptorHandle %p, RecNumber %d, FieldIdentifier %d, Value %p, BufferLength %d)\n", DescriptorHandle,
3092 TRACE(
"(StatementHandle %p, Attribute %d, Value %p, StringLength %d)\n", StatementHandle, Attribute,
Value,
3100 TRACE(
"CHEAT: returning SQL_SUCCESS to ADO\n");
3117 TRACE(
"(HandleType %d, Handle %p, RecNumber %d, Sqlstate %p, NativeError %p, MessageText %p, BufferLength %d,"
3118 " TextLength %p)\n", HandleType,
Handle, RecNumber, Sqlstate, NativeError, MessageText,
BufferLength,
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
#define RegCloseKey(hKey)
_In_opt_ PWSTR _In_ PWSTR _Inout_ PULONG ParameterValue
static const WCHAR szDriverAttributes[]
LONG WINAPI RegSetValueExA(HKEY hKey, LPCSTR lpValueName, DWORD Reserved, DWORD dwType, CONST BYTE *lpData, DWORD cbData)
LONG WINAPI RegQueryValueExA(_In_ HKEY hkeyorg, _In_ LPCSTR name, _In_ LPDWORD reserved, _Out_opt_ LPDWORD type, _Out_opt_ LPBYTE data, _Inout_opt_ LPDWORD count)
LONG WINAPI RegCreateKeyExA(_In_ HKEY hKey, _In_ LPCSTR lpSubKey, _In_ DWORD Reserved, _In_ LPSTR lpClass, _In_ DWORD dwOptions, _In_ REGSAM samDesired, _In_ LPSECURITY_ATTRIBUTES lpSecurityAttributes, _Out_ PHKEY phkResult, _Out_ LPDWORD lpdwDisposition)
static WCHAR reason[MAX_STRING_RESOURCE_LEN]
static const WCHAR Description[]
const char * wine_dbg_sprintf(const char *format,...)
#define DLL_PROCESS_ATTACH
#define DLL_PROCESS_DETACH
static __inline const char * debugstr_an(const char *s, int n)
#define WINE_DECLARE_DEBUG_CHANNEL(x)
BOOL WINAPI DisableThreadLibraryCalls(IN HMODULE hLibModule)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
_Check_return_ char *__cdecl getenv(_In_z_ const char *_VarName)
_In_ PKSPIN_CONNECT _In_ ACCESS_MASK _Out_ PHANDLE ConnectionHandle
void * wine_dlopen(const char *filename, int flag, char *error, size_t errorsize)
int wine_dlclose(void *handle, char *error, size_t errorsize)
int WINAPI lstrlenA(LPCSTR lpString)
#define ERROR_FILE_NOT_FOUND
static const WCHAR desc[]
_Must_inspect_result_ _Out_ PNDIS_STATUS _Out_ PNDIS_CONFIGURATION_PARAMETER _In_ NDIS_HANDLE _In_ PNDIS_STRING _In_ NDIS_PARAMETER_TYPE ParameterType
#define REG_OPTION_NON_VOLATILE
_In_ ULONG _In_ ULONG _In_ ULONG Length
static SQLRETURN(* pSQLEndTran)(SQLSMALLINT, SQLHANDLE, SQLSMALLINT)
static SQLRETURN(* pSQLGetDiagFieldW)(SQLSMALLINT, SQLHANDLE, SQLSMALLINT, SQLSMALLINT, SQLPOINTER, SQLSMALLINT, SQLSMALLINT *)
static SQLRETURN(* pSQLBrowseConnect)(SQLHDBC, SQLCHAR *, SQLSMALLINT, SQLCHAR *, SQLSMALLINT, SQLSMALLINT *)
SQLRETURN WINAPI ODBC32_SQLDataSources(SQLHENV, SQLUSMALLINT, SQLCHAR *, SQLSMALLINT, SQLSMALLINT *, SQLCHAR *, SQLSMALLINT, SQLSMALLINT *)
static const char * debugstr_sqllen(SQLLEN len)
static BOOL ODBC_LoadDriverManager(void)
SQLRETURN WINAPI ODBC32_SQLGetTypeInfoW(SQLHSTMT StatementHandle, SQLSMALLINT DataType)
SQLRETURN WINAPI ODBC32_SQLGetConnectAttrW(SQLHDBC ConnectionHandle, SQLINTEGER Attribute, SQLPOINTER Value, SQLINTEGER BufferLength, SQLINTEGER *StringLength)
SQLRETURN WINAPI ODBC32_SQLGetDiagFieldW(SQLSMALLINT HandleType, SQLHANDLE Handle, SQLSMALLINT RecNumber, SQLSMALLINT DiagIdentifier, SQLPOINTER DiagInfo, SQLSMALLINT BufferLength, SQLSMALLINT *StringLength)
SQLRETURN WINAPI ODBC32_SQLProcedureColumns(SQLHSTMT hstmt, SQLCHAR *szCatalogName, SQLSMALLINT cbCatalogName, SQLCHAR *szSchemaName, SQLSMALLINT cbSchemaName, SQLCHAR *szProcName, SQLSMALLINT cbProcName, SQLCHAR *szColumnName, SQLSMALLINT cbColumnName)
SQLRETURN WINAPI ODBC32_SQLSetDescFieldW(SQLHDESC DescriptorHandle, SQLSMALLINT RecNumber, SQLSMALLINT FieldIdentifier, SQLPOINTER Value, SQLINTEGER BufferLength)
SQLRETURN WINAPI ODBC32_SQLGetStmtOption(SQLHSTMT StatementHandle, SQLUSMALLINT Option, SQLPOINTER Value)
SQLRETURN WINAPI ODBC32_SQLBrowseConnectW(SQLHDBC hdbc, SQLWCHAR *szConnStrIn, SQLSMALLINT cbConnStrIn, SQLWCHAR *szConnStrOut, SQLSMALLINT cbConnStrOutMax, SQLSMALLINT *pcbConnStrOut)
static SQLRETURN(* pSQLFreeStmt)(SQLHSTMT, SQLUSMALLINT)
SQLRETURN WINAPI ODBC32_SQLNativeSql(SQLHDBC hdbc, SQLCHAR *szSqlStrIn, SQLINTEGER cbSqlStrIn, SQLCHAR *szSqlStr, SQLINTEGER cbSqlStrMax, SQLINTEGER *pcbSqlStr)
SQLRETURN WINAPI ODBC32_SQLGetConnectOptionW(SQLHDBC ConnectionHandle, SQLUSMALLINT Option, SQLPOINTER Value)
static SQLRETURN(* pSQLErrorW)(SQLHENV, SQLHDBC, SQLHSTMT, SQLWCHAR *, SQLINTEGER *, SQLWCHAR *, SQLSMALLINT, SQLSMALLINT *)
SQLRETURN WINAPI ODBC32_SQLFreeStmt(SQLHSTMT StatementHandle, SQLUSMALLINT Option)
SQLRETURN WINAPI ODBC32_SQLSetCursorName(SQLHSTMT StatementHandle, SQLCHAR *CursorName, SQLSMALLINT NameLength)
static SQLRETURN(* pSQLProceduresW)(SQLHSTMT, SQLWCHAR *, SQLSMALLINT, SQLWCHAR *, SQLSMALLINT, SQLWCHAR *, SQLSMALLINT)
static SQLRETURN(* pSQLDriversW)(SQLHENV, SQLUSMALLINT, SQLWCHAR *, SQLSMALLINT, SQLSMALLINT *, SQLWCHAR *, SQLSMALLINT, SQLSMALLINT *)
SQLRETURN WINAPI ODBC32_SQLGetDescFieldW(SQLHDESC DescriptorHandle, SQLSMALLINT RecNumber, SQLSMALLINT FieldIdentifier, SQLPOINTER Value, SQLINTEGER BufferLength, SQLINTEGER *StringLength)
SQLRETURN WINAPI ODBC32_SQLSetStmtAttrW(SQLHSTMT StatementHandle, SQLINTEGER Attribute, SQLPOINTER Value, SQLINTEGER StringLength)
SQLRETURN WINAPI ODBC32_SQLAllocStmt(SQLHDBC ConnectionHandle, SQLHSTMT *StatementHandle)
static SQLRETURN(* pSQLGetDescRecW)(SQLHDESC, SQLSMALLINT, SQLWCHAR *, SQLSMALLINT, SQLSMALLINT *, SQLSMALLINT *, SQLSMALLINT *, SQLLEN *, SQLSMALLINT *, SQLSMALLINT *, SQLSMALLINT *)
SQLRETURN WINAPI ODBC32_SQLSetConnectOption(SQLHDBC ConnectionHandle, SQLUSMALLINT Option, SQLULEN Value)
static SQLRETURN(* pSQLAllocEnv)(SQLHENV *)
SQLRETURN WINAPI ODBC32_SQLGetDiagRecA(SQLSMALLINT HandleType, SQLHANDLE Handle, SQLSMALLINT RecNumber, SQLCHAR *Sqlstate, SQLINTEGER *NativeError, SQLCHAR *MessageText, SQLSMALLINT BufferLength, SQLSMALLINT *TextLength)
static SQLRETURN(* pSQLDataSources)(SQLHENV, SQLUSMALLINT, SQLCHAR *, SQLSMALLINT, SQLSMALLINT *, SQLCHAR *, SQLSMALLINT, SQLSMALLINT *)
static SQLRETURN(* pSQLDriverConnectW)(SQLHDBC, SQLHWND, SQLWCHAR *, SQLSMALLINT, SQLWCHAR *, SQLSMALLINT, SQLSMALLINT *, SQLUSMALLINT)
static SQLRETURN(* pSQLCopyDesc)(SQLHDESC, SQLHDESC)
SQLRETURN WINAPI ODBC32_SQLPutData(SQLHSTMT StatementHandle, SQLPOINTER Data, SQLLEN StrLen_or_Ind)
SQLRETURN WINAPI ODBC32_SQLSetConnectAttr(SQLHDBC ConnectionHandle, SQLINTEGER Attribute, SQLPOINTER Value, SQLINTEGER StringLength)
static SQLRETURN(* pSQLDescribeColW)(SQLHSTMT, SQLUSMALLINT, SQLWCHAR *, SQLSMALLINT, SQLSMALLINT *, SQLSMALLINT *, SQLULEN *, SQLSMALLINT *, SQLSMALLINT *)
static SQLRETURN(* pSQLDataSourcesW)(SQLHENV, SQLUSMALLINT, SQLWCHAR *, SQLSMALLINT, SQLSMALLINT *, SQLWCHAR *, SQLSMALLINT, SQLSMALLINT *)
static SQLRETURN(* pSQLProcedureColumnsW)(SQLHSTMT, SQLWCHAR *, SQLSMALLINT, SQLWCHAR *, SQLSMALLINT, SQLWCHAR *, SQLSMALLINT, SQLWCHAR *, SQLSMALLINT)
SQLRETURN WINAPI ODBC32_SQLDriverConnect(SQLHDBC hdbc, SQLHWND hwnd, SQLCHAR *ConnectionString, SQLSMALLINT Length, SQLCHAR *conn_str_out, SQLSMALLINT conn_str_out_max, SQLSMALLINT *ptr_conn_str_out, SQLUSMALLINT driver_completion)
SQLRETURN WINAPI ODBC32_SQLExecDirectW(SQLHSTMT StatementHandle, WCHAR *StatementText, SQLINTEGER TextLength)
static SQLRETURN(* pSQLProcedureColumns)(SQLHSTMT, SQLCHAR *, SQLSMALLINT, SQLCHAR *, SQLSMALLINT, SQLCHAR *, SQLSMALLINT, SQLCHAR *, SQLSMALLINT)
static SQLRETURN(* pSQLGetCursorNameW)(SQLHSTMT, SQLWCHAR *, SQLSMALLINT, SQLSMALLINT *)
SQLRETURN WINAPI ODBC32_SQLEndTran(SQLSMALLINT HandleType, SQLHANDLE Handle, SQLSMALLINT CompletionType)
static SQLRETURN(* pSQLGetConnectAttrW)(SQLHDBC, SQLINTEGER, SQLPOINTER, SQLINTEGER, SQLINTEGER *)
SQLRETURN WINAPI ODBC32_SQLSetDescField(SQLHDESC DescriptorHandle, SQLSMALLINT RecNumber, SQLSMALLINT FieldIdentifier, SQLPOINTER Value, SQLINTEGER BufferLength)
SQLRETURN WINAPI ODBC32_SQLGetConnectAttr(SQLHDBC ConnectionHandle, SQLINTEGER Attribute, SQLPOINTER Value, SQLINTEGER BufferLength, SQLINTEGER *StringLength)
static SQLRETURN(* pSQLTablePrivilegesW)(SQLHSTMT, SQLWCHAR *, SQLSMALLINT, SQLWCHAR *, SQLSMALLINT, SQLWCHAR *, SQLSMALLINT)
static SQLRETURN(* pSQLCloseCursor)(SQLHSTMT)
SQLRETURN WINAPI ODBC32_SQLForeignKeysW(SQLHSTMT hstmt, SQLWCHAR *szPkCatalogName, SQLSMALLINT cbPkCatalogName, SQLWCHAR *szPkSchemaName, SQLSMALLINT cbPkSchemaName, SQLWCHAR *szPkTableName, SQLSMALLINT cbPkTableName, SQLWCHAR *szFkCatalogName, SQLSMALLINT cbFkCatalogName, SQLWCHAR *szFkSchemaName, SQLSMALLINT cbFkSchemaName, SQLWCHAR *szFkTableName, SQLSMALLINT cbFkTableName)
static SQLRETURN(* pSQLDrivers)(SQLHENV, SQLUSMALLINT, SQLCHAR *, SQLSMALLINT, SQLSMALLINT *, SQLCHAR *, SQLSMALLINT, SQLSMALLINT *)
static SQLRETURN(* pSQLParamData)(SQLHSTMT, SQLPOINTER *)
SQLRETURN WINAPI ODBC32_SQLFetch(SQLHSTMT StatementHandle)
static SQLRETURN(* pSQLNativeSql)(SQLHDBC, SQLCHAR *, SQLINTEGER, SQLCHAR *, SQLINTEGER, SQLINTEGER *)
static SQLRETURN(* pSQLRowCount)(SQLHSTMT, SQLLEN *)
static SQLRETURN(* pSQLGetTypeInfo)(SQLHSTMT, SQLSMALLINT)
static SQLRETURN(* pSQLConnect)(SQLHDBC, SQLCHAR *, SQLSMALLINT, SQLCHAR *, SQLSMALLINT, SQLCHAR *, SQLSMALLINT)
static SQLRETURN(* pSQLFreeHandle)(SQLSMALLINT, SQLHANDLE)
SQLRETURN WINAPI ODBC32_SQLConnect(SQLHDBC ConnectionHandle, SQLCHAR *ServerName, SQLSMALLINT NameLength1, SQLCHAR *UserName, SQLSMALLINT NameLength2, SQLCHAR *Authentication, SQLSMALLINT NameLength3)
static SQLRETURN(* pSQLForeignKeysW)(SQLHSTMT, SQLWCHAR *, SQLSMALLINT, SQLWCHAR *, SQLSMALLINT, SQLWCHAR *, SQLSMALLINT, SQLWCHAR *, SQLSMALLINT, SQLWCHAR *, SQLSMALLINT, SQLWCHAR *, SQLSMALLINT)
SQLRETURN WINAPI ODBC32_SQLParamData(SQLHSTMT StatementHandle, SQLPOINTER *Value)
SQLRETURN WINAPI ODBC32_SQLPrepare(SQLHSTMT StatementHandle, SQLCHAR *StatementText, SQLINTEGER TextLength)
SQLRETURN WINAPI ODBC32_SQLNumParams(SQLHSTMT hstmt, SQLSMALLINT *pcpar)
static SQLRETURN(* pSQLSetEnvAttr)(SQLHENV, SQLINTEGER, SQLPOINTER, SQLINTEGER)
SQLRETURN WINAPI ODBC32_SQLSetConnectAttrW(SQLHDBC ConnectionHandle, SQLINTEGER Attribute, SQLPOINTER Value, SQLINTEGER StringLength)
SQLRETURN WINAPI ODBC32_SQLError(SQLHENV EnvironmentHandle, SQLHDBC ConnectionHandle, SQLHSTMT StatementHandle, SQLCHAR *Sqlstate, SQLINTEGER *NativeError, SQLCHAR *MessageText, SQLSMALLINT BufferLength, SQLSMALLINT *TextLength)
SQLRETURN WINAPI ODBC32_SQLCloseCursor(SQLHSTMT StatementHandle)
SQLRETURN WINAPI ODBC32_SQLDisconnect(SQLHDBC ConnectionHandle)
SQLRETURN WINAPI ODBC32_SQLSetDescRec(SQLHDESC DescriptorHandle, SQLSMALLINT RecNumber, SQLSMALLINT Type, SQLSMALLINT SubType, SQLLEN Length, SQLSMALLINT Precision, SQLSMALLINT Scale, SQLPOINTER Data, SQLLEN *StringLength, SQLLEN *Indicator)
SQLRETURN WINAPI ODBC32_SQLPrimaryKeysW(SQLHSTMT hstmt, SQLWCHAR *szCatalogName, SQLSMALLINT cbCatalogName, SQLWCHAR *szSchemaName, SQLSMALLINT cbSchemaName, SQLWCHAR *szTableName, SQLSMALLINT cbTableName)
SQLRETURN WINAPI ODBC32_SQLSetStmtAttr(SQLHSTMT StatementHandle, SQLINTEGER Attribute, SQLPOINTER Value, SQLINTEGER StringLength)
SQLRETURN WINAPI ODBC32_SQLProcedures(SQLHSTMT hstmt, SQLCHAR *szCatalogName, SQLSMALLINT cbCatalogName, SQLCHAR *szSchemaName, SQLSMALLINT cbSchemaName, SQLCHAR *szProcName, SQLSMALLINT cbProcName)
SQLRETURN WINAPI ODBC32_SQLSetEnvAttr(SQLHENV EnvironmentHandle, SQLINTEGER Attribute, SQLPOINTER Value, SQLINTEGER StringLength)
SQLRETURN WINAPI ODBC32_SQLGetDiagRec(SQLSMALLINT HandleType, SQLHANDLE Handle, SQLSMALLINT RecNumber, SQLCHAR *Sqlstate, SQLINTEGER *NativeError, SQLCHAR *MessageText, SQLSMALLINT BufferLength, SQLSMALLINT *TextLength)
static SQLRETURN(* pSQLSetDescField)(SQLHDESC, SQLSMALLINT, SQLSMALLINT, SQLPOINTER, SQLINTEGER)
static SQLRETURN(* pSQLSetConnectOption)(SQLHDBC, SQLUSMALLINT, SQLULEN)
static SQLRETURN(* pSQLGetDiagRec)(SQLSMALLINT, SQLHANDLE, SQLSMALLINT, SQLCHAR *, SQLINTEGER *, SQLCHAR *, SQLSMALLINT, SQLSMALLINT *)
SQLRETURN WINAPI ODBC32_SQLProcedureColumnsW(SQLHSTMT hstmt, SQLWCHAR *szCatalogName, SQLSMALLINT cbCatalogName, SQLWCHAR *szSchemaName, SQLSMALLINT cbSchemaName, SQLWCHAR *szProcName, SQLSMALLINT cbProcName, SQLWCHAR *szColumnName, SQLSMALLINT cbColumnName)
static SQLRETURN(* pSQLGetInfo)(SQLHDBC, SQLUSMALLINT, SQLPOINTER, SQLSMALLINT, SQLSMALLINT *)
static SQLRETURN(* pSQLGetDescField)(SQLHDESC, SQLSMALLINT, SQLSMALLINT, SQLPOINTER, SQLINTEGER, SQLINTEGER *)
static SQLRETURN(* pSQLSetStmtAttr)(SQLHSTMT, SQLINTEGER, SQLPOINTER, SQLINTEGER)
static SQLRETURN(* pSQLSetCursorName)(SQLHSTMT, SQLCHAR *, SQLSMALLINT)
SQLRETURN WINAPI ODBC32_SQLExtendedFetch(SQLHSTMT hstmt, SQLUSMALLINT fFetchType, SQLLEN irow, SQLULEN *pcrow, SQLUSMALLINT *rgfRowStatus)
static SQLRETURN(* pSQLGetDescFieldW)(SQLHDESC, SQLSMALLINT, SQLSMALLINT, SQLPOINTER, SQLINTEGER, SQLINTEGER *)
SQLRETURN WINAPI ODBC32_SQLTables(SQLHSTMT StatementHandle, SQLCHAR *CatalogName, SQLSMALLINT NameLength1, SQLCHAR *SchemaName, SQLSMALLINT NameLength2, SQLCHAR *TableName, SQLSMALLINT NameLength3, SQLCHAR *TableType, SQLSMALLINT NameLength4)
SQLRETURN WINAPI ODBC32_SQLSetCursorNameW(SQLHSTMT StatementHandle, WCHAR *CursorName, SQLSMALLINT NameLength)
SQLRETURN WINAPI ODBC32_SQLColAttributeW(SQLHSTMT StatementHandle, SQLUSMALLINT ColumnNumber, SQLUSMALLINT FieldIdentifier, SQLPOINTER CharacterAttribute, SQLSMALLINT BufferLength, SQLSMALLINT *StringLength, SQLLEN *NumericAttribute)
SQLRETURN WINAPI ODBC32_SQLGetInfo(SQLHDBC ConnectionHandle, SQLUSMALLINT InfoType, SQLPOINTER InfoValue, SQLSMALLINT BufferLength, SQLSMALLINT *StringLength)
SQLRETURN WINAPI ODBC32_SQLFetchScroll(SQLHSTMT StatementHandle, SQLSMALLINT FetchOrientation, SQLLEN FetchOffset)
static SQLRETURN(* pSQLColAttributesW)(SQLHSTMT, SQLUSMALLINT, SQLUSMALLINT, SQLPOINTER, SQLSMALLINT, SQLSMALLINT *, SQLLEN *)
static SQLRETURN(* pSQLPrimaryKeys)(SQLHSTMT, SQLCHAR *, SQLSMALLINT, SQLCHAR *, SQLSMALLINT, SQLCHAR *, SQLSMALLINT)
static SQLRETURN(* pSQLGetDescRec)(SQLHDESC, SQLSMALLINT, SQLCHAR *, SQLSMALLINT, SQLSMALLINT *, SQLSMALLINT *, SQLSMALLINT *, SQLLEN *, SQLSMALLINT *, SQLSMALLINT *, SQLSMALLINT *)
SQLRETURN WINAPI ODBC32_SQLTransact(SQLHENV EnvironmentHandle, SQLHDBC ConnectionHandle, SQLUSMALLINT CompletionType)
SQLRETURN WINAPI ODBC32_SQLGetTypeInfo(SQLHSTMT StatementHandle, SQLSMALLINT DataType)
static SQLRETURN(* pSQLColumnsW)(SQLHSTMT, SQLWCHAR *, SQLSMALLINT, SQLWCHAR *, SQLSMALLINT, SQLWCHAR *, SQLSMALLINT, SQLWCHAR *, SQLSMALLINT)
static SQLRETURN(* pSQLSpecialColumns)(SQLHSTMT, SQLUSMALLINT, SQLCHAR *, SQLSMALLINT, SQLCHAR *, SQLSMALLINT, SQLCHAR *, SQLSMALLINT, SQLUSMALLINT, SQLUSMALLINT)
static SQLRETURN(* pSQLFetch)(SQLHSTMT)
static SQLRETURN(* pSQLProcedures)(SQLHSTMT, SQLCHAR *, SQLSMALLINT, SQLCHAR *, SQLSMALLINT, SQLCHAR *, SQLSMALLINT)
SQLRETURN WINAPI ODBC32_SQLNativeSqlW(SQLHDBC hdbc, SQLWCHAR *szSqlStrIn, SQLINTEGER cbSqlStrIn, SQLWCHAR *szSqlStr, SQLINTEGER cbSqlStrMax, SQLINTEGER *pcbSqlStr)
static SQLRETURN(* pSQLColumnPrivileges)(SQLHSTMT, SQLCHAR *, SQLSMALLINT, SQLCHAR *, SQLSMALLINT, SQLCHAR *, SQLSMALLINT, SQLCHAR *, SQLSMALLINT)
static SQLRETURN(* pSQLGetDiagField)(SQLSMALLINT, SQLHANDLE, SQLSMALLINT, SQLSMALLINT, SQLPOINTER, SQLSMALLINT, SQLSMALLINT *)
SQLRETURN WINAPI ODBC32_SQLGetDescField(SQLHDESC DescriptorHandle, SQLSMALLINT RecNumber, SQLSMALLINT FieldIdentifier, SQLPOINTER Value, SQLINTEGER BufferLength, SQLINTEGER *StringLength)
SQLRETURN WINAPI ODBC32_SQLGetDescRec(SQLHDESC DescriptorHandle, SQLSMALLINT RecNumber, SQLCHAR *Name, SQLSMALLINT BufferLength, SQLSMALLINT *StringLength, SQLSMALLINT *Type, SQLSMALLINT *SubType, SQLLEN *Length, SQLSMALLINT *Precision, SQLSMALLINT *Scale, SQLSMALLINT *Nullable)
SQLRETURN WINAPI ODBC32_SQLPrimaryKeys(SQLHSTMT hstmt, SQLCHAR *szCatalogName, SQLSMALLINT cbCatalogName, SQLCHAR *szSchemaName, SQLSMALLINT cbSchemaName, SQLCHAR *szTableName, SQLSMALLINT cbTableName)
static SQLRETURN(* pSQLSetConnectAttr)(SQLHDBC, SQLINTEGER, SQLPOINTER, SQLINTEGER)
static SQLRETURN(* pSQLDescribeCol)(SQLHSTMT, SQLUSMALLINT, SQLCHAR *, SQLSMALLINT, SQLSMALLINT *, SQLSMALLINT *, SQLULEN *, SQLSMALLINT *, SQLSMALLINT *)
static void ODBC_ReplicateToRegistry(void)
SQLRETURN WINAPI ODBC32_SQLGetEnvAttr(SQLHENV EnvironmentHandle, SQLINTEGER Attribute, SQLPOINTER Value, SQLINTEGER BufferLength, SQLINTEGER *StringLength)
SQLRETURN WINAPI ODBC32_SQLSetStmtOption(SQLHSTMT StatementHandle, SQLUSMALLINT Option, SQLULEN Value)
static SQLRETURN(* pSQLGetDiagRecA)(SQLSMALLINT, SQLHANDLE, SQLSMALLINT, SQLCHAR *, SQLINTEGER *, SQLCHAR *, SQLSMALLINT, SQLSMALLINT *)
static SQLRETURN(* pSQLFetchScroll)(SQLHSTMT, SQLSMALLINT, SQLLEN)
SQLRETURN WINAPI ODBC32_SQLSpecialColumnsW(SQLHSTMT StatementHandle, SQLUSMALLINT IdentifierType, SQLWCHAR *CatalogName, SQLSMALLINT NameLength1, SQLWCHAR *SchemaName, SQLSMALLINT NameLength2, SQLWCHAR *TableName, SQLSMALLINT NameLength3, SQLUSMALLINT Scope, SQLUSMALLINT Nullable)
static SQLRETURN(* pSQLSpecialColumnsW)(SQLHSTMT, SQLUSMALLINT, SQLWCHAR *, SQLSMALLINT, SQLWCHAR *, SQLSMALLINT, SQLWCHAR *, SQLSMALLINT, SQLUSMALLINT, SQLUSMALLINT)
SQLRETURN WINAPI ODBC32_SQLColAttributes(SQLHSTMT hstmt, SQLUSMALLINT icol, SQLUSMALLINT fDescType, SQLPOINTER rgbDesc, SQLSMALLINT cbDescMax, SQLSMALLINT *pcbDesc, SQLLEN *pfDesc)
static SQLRETURN(* pSQLPrepareW)(SQLHSTMT, SQLWCHAR *, SQLINTEGER)
static SQLRETURN(* pSQLNumParams)(SQLHSTMT, SQLSMALLINT *)
SQLRETURN WINAPI ODBC32_SQLGetDescRecW(SQLHDESC DescriptorHandle, SQLSMALLINT RecNumber, WCHAR *Name, SQLSMALLINT BufferLength, SQLSMALLINT *StringLength, SQLSMALLINT *Type, SQLSMALLINT *SubType, SQLLEN *Length, SQLSMALLINT *Precision, SQLSMALLINT *Scale, SQLSMALLINT *Nullable)
SQLRETURN WINAPI ODBC32_SQLConnectW(SQLHDBC ConnectionHandle, WCHAR *ServerName, SQLSMALLINT NameLength1, WCHAR *UserName, SQLSMALLINT NameLength2, WCHAR *Authentication, SQLSMALLINT NameLength3)
static SQLRETURN(* pSQLExecute)(SQLHSTMT)
SQLRETURN WINAPI ODBC32_SQLRowCount(SQLHSTMT StatementHandle, SQLLEN *RowCount)
SQLRETURN WINAPI ODBC32_SQLTablesW(SQLHSTMT StatementHandle, SQLWCHAR *CatalogName, SQLSMALLINT NameLength1, SQLWCHAR *SchemaName, SQLSMALLINT NameLength2, SQLWCHAR *TableName, SQLSMALLINT NameLength3, SQLWCHAR *TableType, SQLSMALLINT NameLength4)
static SQLRETURN(* pSQLGetCursorName)(SQLHSTMT, SQLCHAR *, SQLSMALLINT, SQLSMALLINT *)
static SQLRETURN(* pSQLSetCursorNameW)(SQLHSTMT, SQLWCHAR *, SQLSMALLINT)
SQLRETURN WINAPI ODBC32_SQLDriversW(SQLHENV EnvironmentHandle, SQLUSMALLINT fDirection, SQLWCHAR *szDriverDesc, SQLSMALLINT cbDriverDescMax, SQLSMALLINT *pcbDriverDesc, SQLWCHAR *szDriverAttributes, SQLSMALLINT cbDriverAttrMax, SQLSMALLINT *pcbDriverAttr)
static SQLRETURN(* pSQLDisconnect)(SQLHDBC)
static SQLRETURN(* pSQLParamOptions)(SQLHSTMT, SQLULEN, SQLULEN *)
SQLRETURN WINAPI ODBC32_SQLTablePrivilegesW(SQLHSTMT hstmt, SQLWCHAR *szCatalogName, SQLSMALLINT cbCatalogName, SQLWCHAR *szSchemaName, SQLSMALLINT cbSchemaName, SQLWCHAR *szTableName, SQLSMALLINT cbTableName)
SQLRETURN WINAPI ODBC32_SQLDriverConnectW(SQLHDBC ConnectionHandle, SQLHWND WindowHandle, WCHAR *InConnectionString, SQLSMALLINT Length, WCHAR *OutConnectionString, SQLSMALLINT BufferLength, SQLSMALLINT *Length2, SQLUSMALLINT DriverCompletion)
static SQLRETURN(* pSQLBindParam)(SQLHSTMT, SQLUSMALLINT, SQLSMALLINT, SQLSMALLINT, SQLULEN, SQLSMALLINT, SQLPOINTER, SQLLEN *)
static SQLRETURN(* pSQLAllocHandleStd)(SQLSMALLINT, SQLHANDLE, SQLHANDLE *)
static SQLRETURN(* pSQLDescribeParam)(SQLHSTMT, SQLUSMALLINT, SQLSMALLINT *, SQLULEN *, SQLSMALLINT *, SQLSMALLINT *)
static SQLRETURN(* pSQLNativeSqlW)(SQLHDBC, SQLWCHAR *, SQLINTEGER, SQLWCHAR *, SQLINTEGER, SQLINTEGER *)
SQLRETURN WINAPI ODBC32_SQLParamOptions(SQLHSTMT hstmt, SQLULEN crow, SQLULEN *pirow)
static SQLRETURN(* pSQLGetConnectOption)(SQLHDBC, SQLUSMALLINT, SQLPOINTER)
SQLRETURN WINAPI ODBC32_SQLFreeConnect(SQLHDBC ConnectionHandle)
SQLRETURN WINAPI ODBC32_SQLSetParam(SQLHSTMT StatementHandle, SQLUSMALLINT ParameterNumber, SQLSMALLINT ValueType, SQLSMALLINT ParameterType, SQLULEN LengthPrecision, SQLSMALLINT ParameterScale, SQLPOINTER ParameterValue, SQLLEN *StrLen_or_Ind)
static SQLRETURN(* pSQLGetStmtAttrW)(SQLHSTMT, SQLINTEGER, SQLPOINTER, SQLINTEGER, SQLINTEGER *)
SQLRETURN WINAPI ODBC32_SQLStatistics(SQLHSTMT StatementHandle, SQLCHAR *CatalogName, SQLSMALLINT NameLength1, SQLCHAR *SchemaName, SQLSMALLINT NameLength2, SQLCHAR *TableName, SQLSMALLINT NameLength3, SQLUSMALLINT Unique, SQLUSMALLINT Reserved)
SQLRETURN WINAPI ODBC32_SQLBulkOperations(SQLHSTMT StatementHandle, SQLSMALLINT Operation)
static SQLRETURN(* pSQLBindParameter)(SQLHSTMT, SQLUSMALLINT, SQLSMALLINT, SQLSMALLINT, SQLSMALLINT, SQLULEN, SQLSMALLINT, SQLPOINTER, SQLLEN, SQLLEN *)
SQLRETURN WINAPI ODBC32_SQLGetFunctions(SQLHDBC ConnectionHandle, SQLUSMALLINT FunctionId, SQLUSMALLINT *Supported)
static SQLRETURN(* pSQLGetStmtAttr)(SQLHSTMT, SQLINTEGER, SQLPOINTER, SQLINTEGER, SQLINTEGER *)
SQLRETURN WINAPI ODBC32_SQLAllocHandle(SQLSMALLINT HandleType, SQLHANDLE InputHandle, SQLHANDLE *OutputHandle)
SQLRETURN WINAPI ODBC32_SQLGetCursorNameW(SQLHSTMT StatementHandle, WCHAR *CursorName, SQLSMALLINT BufferLength, SQLSMALLINT *NameLength)
static SQLRETURN(* pSQLForeignKeys)(SQLHSTMT, SQLCHAR *, SQLSMALLINT, SQLCHAR *, SQLSMALLINT, SQLCHAR *, SQLSMALLINT, SQLCHAR *, SQLSMALLINT, SQLCHAR *, SQLSMALLINT, SQLCHAR *, SQLSMALLINT)
static SQLRETURN(* pSQLColAttribute)(SQLHSTMT, SQLUSMALLINT, SQLUSMALLINT, SQLPOINTER, SQLSMALLINT, SQLSMALLINT *, SQLLEN *)
static SQLRETURN(* pSQLStatistics)(SQLHSTMT, SQLCHAR *, SQLSMALLINT, SQLCHAR *, SQLSMALLINT, SQLCHAR *, SQLSMALLINT, SQLUSMALLINT, SQLUSMALLINT)
static SQLRETURN(* pSQLSetStmtAttrW)(SQLHSTMT, SQLINTEGER, SQLPOINTER, SQLINTEGER)
static SQLRETURN(* pSQLTransact)(SQLHENV, SQLHDBC, SQLUSMALLINT)
static SQLRETURN(* pSQLGetEnvAttr)(SQLHENV, SQLINTEGER, SQLPOINTER, SQLINTEGER, SQLINTEGER *)
SQLRETURN WINAPI ODBC32_SQLAllocHandleStd(SQLSMALLINT HandleType, SQLHANDLE InputHandle, SQLHANDLE *OutputHandle)
SQLRETURN WINAPI ODBC32_SQLDescribeCol(SQLHSTMT StatementHandle, SQLUSMALLINT ColumnNumber, SQLCHAR *ColumnName, SQLSMALLINT BufferLength, SQLSMALLINT *NameLength, SQLSMALLINT *DataType, SQLULEN *ColumnSize, SQLSMALLINT *DecimalDigits, SQLSMALLINT *Nullable)
static SQLRETURN(* pSQLSetPos)(SQLHSTMT, SQLSETPOSIROW, SQLUSMALLINT, SQLUSMALLINT)
static SQLRETURN(* pSQLColumnPrivilegesW)(SQLHSTMT, SQLWCHAR *, SQLSMALLINT, SQLWCHAR *, SQLSMALLINT, SQLWCHAR *, SQLSMALLINT, SQLWCHAR *, SQLSMALLINT)
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD reason, LPVOID reserved)
static SQLRETURN(* pSQLSetStmtOption)(SQLHSTMT, SQLUSMALLINT, SQLULEN)
SQLRETURN WINAPI ODBC32_SQLColAttributesW(SQLHSTMT hstmt, SQLUSMALLINT icol, SQLUSMALLINT fDescType, SQLPOINTER rgbDesc, SQLSMALLINT cbDescMax, SQLSMALLINT *pcbDesc, SQLLEN *pfDesc)
static SQLRETURN(* pSQLTablePrivileges)(SQLHSTMT, SQLCHAR *, SQLSMALLINT, SQLCHAR *, SQLSMALLINT, SQLCHAR *, SQLSMALLINT)
static SQLRETURN(* pSQLPrimaryKeysW)(SQLHSTMT, SQLWCHAR *, SQLSMALLINT, SQLWCHAR *, SQLSMALLINT, SQLWCHAR *, SQLSMALLINT)
SQLRETURN WINAPI ODBC32_SQLProceduresW(SQLHSTMT hstmt, SQLWCHAR *szCatalogName, SQLSMALLINT cbCatalogName, SQLWCHAR *szSchemaName, SQLSMALLINT cbSchemaName, SQLWCHAR *szProcName, SQLSMALLINT cbProcName)
static SQLRETURN(* pSQLGetConnectOptionW)(SQLHDBC, SQLUSMALLINT, SQLPOINTER)
SQLRETURN WINAPI ODBC32_SQLMoreResults(SQLHSTMT StatementHandle)
#define ERROR_LIBRARY_NOT_FOUND
static SQLRETURN(* pSQLSetConnectOptionW)(SQLHDBC, SQLUSMALLINT, SQLULEN)
static SQLRETURN(* pSQLGetTypeInfoW)(SQLHSTMT, SQLSMALLINT)
static BOOL SQLColAttributes_KnownStringAttribute(SQLUSMALLINT fDescType)
static SQLRETURN(* pSQLFreeConnect)(SQLHDBC)
static SQLRETURN(* pSQLAllocHandle)(SQLSMALLINT, SQLHANDLE, SQLHANDLE *)
static void ODBC_ReplicateODBCInstToRegistry(SQLHENV hEnv)
SQLRETURN WINAPI ODBC32_SQLDescribeParam(SQLHSTMT hstmt, SQLUSMALLINT ipar, SQLSMALLINT *pfSqlType, SQLULEN *pcbParamDef, SQLSMALLINT *pibScale, SQLSMALLINT *pfNullable)
static BOOL ODBC_LoadDMFunctions(void)
SQLRETURN WINAPI ODBC32_SQLGetConnectOption(SQLHDBC ConnectionHandle, SQLUSMALLINT Option, SQLPOINTER Value)
SQLRETURN WINAPI ODBC32_SQLGetInfoW(SQLHDBC ConnectionHandle, SQLUSMALLINT InfoType, SQLPOINTER InfoValue, SQLSMALLINT BufferLength, SQLSMALLINT *StringLength)
SQLRETURN WINAPI ODBC32_SQLGetCursorName(SQLHSTMT StatementHandle, SQLCHAR *CursorName, SQLSMALLINT BufferLength, SQLSMALLINT *NameLength)
static SQLRETURN(* pSQLNumResultCols)(SQLHSTMT, SQLSMALLINT *)
SQLRETURN WINAPI ODBC32_SQLColAttribute(SQLHSTMT StatementHandle, SQLUSMALLINT ColumnNumber, SQLUSMALLINT FieldIdentifier, SQLPOINTER CharacterAttribute, SQLSMALLINT BufferLength, SQLSMALLINT *StringLength, SQLLEN *NumericAttribute)
SQLRETURN WINAPI ODBC32_SQLStatisticsW(SQLHSTMT StatementHandle, SQLWCHAR *CatalogName, SQLSMALLINT NameLength1, SQLWCHAR *SchemaName, SQLSMALLINT NameLength2, SQLWCHAR *TableName, SQLSMALLINT NameLength3, SQLUSMALLINT Unique, SQLUSMALLINT Reserved)
static SQLRETURN(* pSQLSetDescFieldW)(SQLHDESC, SQLSMALLINT, SQLSMALLINT, SQLPOINTER, SQLINTEGER)
SQLRETURN WINAPI ODBC32_SQLCancel(SQLHSTMT StatementHandle)
SQLRETURN WINAPI ODBC32_SQLSetPos(SQLHSTMT hstmt, SQLSETPOSIROW irow, SQLUSMALLINT fOption, SQLUSMALLINT fLock)
SQLRETURN WINAPI ODBC32_SQLGetDiagField(SQLSMALLINT HandleType, SQLHANDLE Handle, SQLSMALLINT RecNumber, SQLSMALLINT DiagIdentifier, SQLPOINTER DiagInfo, SQLSMALLINT BufferLength, SQLSMALLINT *StringLength)
static SQLRETURN(* pSQLTablesW)(SQLHSTMT, SQLWCHAR *, SQLSMALLINT, SQLWCHAR *, SQLSMALLINT, SQLWCHAR *, SQLSMALLINT, SQLWCHAR *, SQLSMALLINT)
SQLRETURN WINAPI ODBC32_SQLColumnPrivileges(SQLHSTMT hstmt, SQLCHAR *szCatalogName, SQLSMALLINT cbCatalogName, SQLCHAR *szSchemaName, SQLSMALLINT cbSchemaName, SQLCHAR *szTableName, SQLSMALLINT cbTableName, SQLCHAR *szColumnName, SQLSMALLINT cbColumnName)
static SQLRETURN(* pSQLFreeEnv)(SQLHENV)
SQLRETURN WINAPI ODBC32_SQLPrepareW(SQLHSTMT StatementHandle, WCHAR *StatementText, SQLINTEGER TextLength)
static SQLRETURN(* pSQLExecDirect)(SQLHSTMT, SQLCHAR *, SQLINTEGER)
static SQLRETURN(* pSQLSetParam)(SQLHSTMT, SQLUSMALLINT, SQLSMALLINT, SQLSMALLINT, SQLULEN, SQLSMALLINT, SQLPOINTER, SQLLEN *)
SQLRETURN WINAPI ODBC32_SQLDataSourcesW(SQLHENV EnvironmentHandle, SQLUSMALLINT Direction, WCHAR *ServerName, SQLSMALLINT BufferLength1, SQLSMALLINT *NameLength1, WCHAR *Description, SQLSMALLINT BufferLength2, SQLSMALLINT *NameLength2)
static SQLRETURN(* pSQLColAttributeW)(SQLHSTMT, SQLUSMALLINT, SQLUSMALLINT, SQLPOINTER, SQLSMALLINT, SQLSMALLINT *, SQLLEN *)
static SQLRETURN(* pSQLGetDiagRecW)(SQLSMALLINT, SQLHANDLE, SQLSMALLINT, SQLWCHAR *, SQLINTEGER *, SQLWCHAR *, SQLSMALLINT, SQLSMALLINT *)
static SQLRETURN(* pSQLGetData)(SQLHSTMT, SQLUSMALLINT, SQLSMALLINT, SQLPOINTER, SQLLEN, SQLLEN *)
static SQLRETURN(* pSQLTables)(SQLHSTMT, SQLCHAR *, SQLSMALLINT, SQLCHAR *, SQLSMALLINT, SQLCHAR *, SQLSMALLINT, SQLCHAR *, SQLSMALLINT)
SQLRETURN WINAPI ODBC32_SQLGetData(SQLHSTMT StatementHandle, SQLUSMALLINT ColumnNumber, SQLSMALLINT TargetType, SQLPOINTER TargetValue, SQLLEN BufferLength, SQLLEN *StrLen_or_Ind)
static SQLRETURN(* pSQLColAttributes)(SQLHSTMT, SQLUSMALLINT, SQLUSMALLINT, SQLPOINTER, SQLSMALLINT, SQLSMALLINT *, SQLLEN *)
SQLRETURN WINAPI ODBC32_SQLTablePrivileges(SQLHSTMT hstmt, SQLCHAR *szCatalogName, SQLSMALLINT cbCatalogName, SQLCHAR *szSchemaName, SQLSMALLINT cbSchemaName, SQLCHAR *szTableName, SQLSMALLINT cbTableName)
static SQLRETURN(* pSQLConnectW)(SQLHDBC, SQLWCHAR *, SQLSMALLINT, SQLWCHAR *, SQLSMALLINT, SQLWCHAR *, SQLSMALLINT)
static SQLRETURN(* pSQLPrepare)(SQLHSTMT, SQLCHAR *, SQLINTEGER)
SQLRETURN WINAPI ODBC32_SQLBindParam(SQLHSTMT StatementHandle, SQLUSMALLINT ParameterNumber, SQLSMALLINT ValueType, SQLSMALLINT ParameterType, SQLULEN LengthPrecision, SQLSMALLINT ParameterScale, SQLPOINTER ParameterValue, SQLLEN *StrLen_or_Ind)
static SQLRETURN(* pSQLError)(SQLHENV, SQLHDBC, SQLHSTMT, SQLCHAR *, SQLINTEGER *, SQLCHAR *, SQLSMALLINT, SQLSMALLINT *)
static SQLRETURN(* pSQLSetConnectAttrW)(SQLHDBC, SQLINTEGER, SQLPOINTER, SQLINTEGER)
static SQLRETURN(* pSQLSetDescRec)(SQLHDESC, SQLSMALLINT, SQLSMALLINT, SQLSMALLINT, SQLLEN, SQLSMALLINT, SQLSMALLINT, SQLPOINTER, SQLLEN *, SQLLEN *)
SQLRETURN WINAPI ODBC32_SQLSpecialColumns(SQLHSTMT StatementHandle, SQLUSMALLINT IdentifierType, SQLCHAR *CatalogName, SQLSMALLINT NameLength1, SQLCHAR *SchemaName, SQLSMALLINT NameLength2, SQLCHAR *TableName, SQLSMALLINT NameLength3, SQLUSMALLINT Scope, SQLUSMALLINT Nullable)
SQLRETURN WINAPI ODBC32_SQLErrorW(SQLHENV EnvironmentHandle, SQLHDBC ConnectionHandle, SQLHSTMT StatementHandle, WCHAR *Sqlstate, SQLINTEGER *NativeError, WCHAR *MessageText, SQLSMALLINT BufferLength, SQLSMALLINT *TextLength)
static SQLRETURN(* pSQLStatisticsW)(SQLHSTMT, SQLWCHAR *, SQLSMALLINT, SQLWCHAR *, SQLSMALLINT, SQLWCHAR *, SQLSMALLINT, SQLUSMALLINT, SQLUSMALLINT)
SQLRETURN WINAPI ODBC32_SQLFreeHandle(SQLSMALLINT HandleType, SQLHANDLE Handle)
SQLRETURN WINAPI ODBC32_SQLColumnPrivilegesW(SQLHSTMT hstmt, SQLWCHAR *szCatalogName, SQLSMALLINT cbCatalogName, SQLWCHAR *szSchemaName, SQLSMALLINT cbSchemaName, SQLWCHAR *szTableName, SQLSMALLINT cbTableName, SQLWCHAR *szColumnName, SQLSMALLINT cbColumnName)