Я использую ADODB в Excel 2007 VBA для подключения к серверу Teradata 14.0 с помощью драйвера Teradata ODBC 15.0. Все работает, как ожидалось, кроме тех случаев, когда я отправляю очень большие запросы через ADODB.Recordset.Open
.
Иногда, когда я пытаюсь recordset.open
с запросом, который содержит более 5000 символов, он выдает ODBC Driver does not support the requested properties
ошибку -2147217887
.
Ошибка появляется через заданный промежуток времени (30 секунд или около того), когда я не получаю обратно загруженный объект набора записей.
Код прост:
Sub getData()
Dim strSQL As String
Dim scRS As ADODB.Recordset
Dim adoConn As ADODB.Connection
strSQL = "Very Large SQL"
'open the connection
Set adoConn = New ADODB.Connection
On Error GoTo adoExit
adoConn.Open "SessionMode=Teradata;Driver=Teradata;DBCName=<SERVERIP>;Database=<DATABASE>;CharSet=UTF16;Uid=<USERID>;Pwd=<PASSWORD>"
'get the data
Set scRS = New ADODB.Recordset
scRS.Open strSQL, adoConn, adOpenKeyset, adLockOptimistic
...
End Sub
Отредактировано для добавления: я пробовал варианты почти всего, что звучало так, как будто это могло повлиять на размеры пакетов / тайм-ауты / наборы символов (которые, как я думал, могут повлиять на общее количество байтов) / и т. Д. В строке подключения с использованием https://www.info.teradata.com/htmlpubs/DB_TTU_13_10/index.html#page/Connectivity/B035_2509_071A/2509ch03.05.06.html в качестве руководства. И все же у меня бывают спорадические таймауты.