2013-11-18 1 views
0

В настоящее время я встретил SQLSetConnectAttrW вызова с атрибутом константой, равной 0 или 1 (SQLSetConnectAttrW (0x1231231, 0, 0, -6)). И поэтому я не могу отличить то, что является фактическим именем SQL_ATTR_ *, чтобы я мог ссылаться на него дальше. Я попытался просмотреть файлы заголовков ODBC, но в итоге не смог найти, что это может быть. Итак, мой вопрос в том, что это за имена констант?ODBC: SQLSetConnectAttr фактический атрибут имя константы

PS: ADO внутренне делает такой вызов, и я должен выяснить, для чего это делается.

С уважением, Александр Черняев.

ответ

0

Эти два атрибута являются SQL_ATTR_MAX_ROWS и SQL_ATTR_QUERY_TIMEOUT и это нормально, чтобы передать их соединения ручки, как @bohica указано выше.

0

Если вы видите SQLSetConnectAttr (0xNNNNNNNN, 0, 0, -6), то первым аргументом является дескриптор соединения (указатель), второй - атрибут для установки (я не знаю атрибута значения 0), третий не имеет значения, а четвертый - SQL_IS_INTEGER, подразумевающий его числовой атрибут. Вы уверены, что он пытается установить атрибут 0? Откуда вы получили эту информацию?

+0

У меня есть эта информация, связанная с подключением API ODBC и попытка перехвата этих вызовов с помощью простой консоли ADO cscript.exe на основе VBScript. Понятно, что сам сценарий не смог передать идентификатор этого атрибута, потому что API ADO этого не допускал. И я уверен, что он пытается установить атрибут 0, а также атрибут 1. Установленный тест представляет собой простой сервер сообщества MySQL и работает вместе с его 32-битным драйвером ODBC, который позволяет мне запускать ADO Приложения VBScript. – Zorgiev

+0

Я повернулся ODBC трассировку в odbcad32 программе, и вот что он показывает: cscript.exe тэ FDC-1288 \t EXIT SQLSetConnectAttrW с кодом возврата 0 (SQL_SUCCESS) \t \t SQLHDBC 0x03089210 \t \t SQLINTEGER 1 \t \t SQLPOINTER 0 \t \t SQLINTEGER -6 cscript.exe те FDC-+1288 \t ENTER SQLSetConnectAttrW \t \t SQLHDBC 0x03089210 \tSQLINTEGER 0 \t \t SQLPOINTER 0 \t \t SQLINTEGER -6 – Zorgiev

+0

Я видел эти SQL_ATTR_MAX_ROWS и ценности SQL_ATTR_QUERY_TIMEOUT раньше, но я сомневался, что это действует, чтобы передать их в связи, так как они относятся только к постановке ручки только ... Кто-нибудь, пожалуйста, подтвердите, правильно ли использовать эти атрибуты вместе с дескриптором соединения ... – Zorgiev

Смежные вопросы