Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The ODBC client used in MS Access (also known as Microsoft Jet) has specific requirements to the
SQLGetInfo
driver function. First, it requiresSQL_ODBC_API_CONFORMANCE
to be supported. Second, it requires the output parameterStringLengthPtr
to be set by driver even when theInfoValuePtr
is set to non-character (integer) value. Otherwise it fails withReserved error (-7701);
message and disconnects immediately after the successfull connection.This change adds a new helper
StoreWithLength
and applies it to all non-character usages inSQLGetInfo
and inSQLGetConnectAttr
functions. With it MS Access can establish the connection and start running SQL queries. Though, it still fails on schema introspectio (more Jet-specific fixes are needed in driver), so #39 remains open for now.Testing: length check for non-character data is added to the existing test.