Ik heb een vraag over SQLSetConnectAttr i.c.m. SQL_ATTR_CONNECTION_TIMEOUT.
Bij de aanroep van deze functie kan je zoals hierboven lezen dat je als parameter ValuePtr een 32-bits integer kan opgeven met de timeout in seconden. Echter, wanneer ik dit doe krijg ik bij de aanroep van SQLDriverConnect een Memory Access Violation.
Geef ik echter als ValuePtr een pointer naar een 32-bits integer op dan krijg ik geen foutmelding (maar of dat ook daadwerkelijk die timeout gekozen wordt weet ik niet).
Kan ik hieruit concluderen dat niet ValuePtr de timeout moet bevatten maar *ValuePtr? Want dat hadden ze er dan wel even bij mogen zetten...
code:
1
2
3
4
5
6
7
| SQLRETURN SQLSetConnectAttr
(
SQLHDBC ConnectionHandle,
SQLINTEGER Attribute,
SQLPOINTER ValuePtr,
SQLINTEGER StringLength
); |
Ik gebruik MyODBC (v3.51.xxx).An SQLUINTEGER value corresponding to the number of seconds to wait for any request on the connection to complete before returning to the application
(...)
If ValuePtr is equal to 0 (the default), then there is no timeout.
Bij de aanroep van deze functie kan je zoals hierboven lezen dat je als parameter ValuePtr een 32-bits integer kan opgeven met de timeout in seconden. Echter, wanneer ik dit doe krijg ik bij de aanroep van SQLDriverConnect een Memory Access Violation.
Geef ik echter als ValuePtr een pointer naar een 32-bits integer op dan krijg ik geen foutmelding (maar of dat ook daadwerkelijk die timeout gekozen wordt weet ik niet).
Kan ik hieruit concluderen dat niet ValuePtr de timeout moet bevatten maar *ValuePtr? Want dat hadden ze er dan wel even bij mogen zetten...