Необъяснимая ошибка «неправильного типа» при использовании ADODB.Recordset - PullRequest
0 голосов
/ 19 июня 2019

Я попытался запустить очень простой код для доступа к базе данных с использованием ADODB на нескольких 3 различных языках Vbscript, Python и Powershell, и каждый раз я получаю следующее сообщение об ошибке:

Аргументы имеют неправильный тип, находятся за пределами допустимого диапазона или конфликтуют друг с другом.

Вот простой код VBScript, который я получил в Интернете, а затем немного изменил в своей среде:

Sub Test
    Const adOpenStatic = 3
    Const adLockOptimistic = 3
    Const adUseClient = 3

    Dim objConnection, objRecordset
    Set objConnection = CreateObject("ADODB.Connection")
    Set objRecordset = CreateObject("ADODB.Recordset")

    objConnection.Open "DSN=My_DSN;"
    objRecordset.CursorLocation = adUseClient
    objRecordset.Open "SELECT * FROM my_table", objConnection, adOpenStatic, adLockOptimistic

    objRecordSet.MoveFirst

    Dim x, y, z, recordStr
    Do Until objRecordset.EOF
        x = objRecordset.Fields.Item(1)
        y = objRecordset.Fields.Item(2)
        z = objRecordset.Fields.Item(3)
        recordStr = CStr(x) + "," + CStr(y) + "," + CStr(z)
        WScript.Echo recordStr
        objRecordset.MoveNext
    Loop

    objRecordset.Close
    objConnection.Close
End Sub

Call Test

Независимо от того, какой язык или вариант кода я использую, вышеуказанная ошибка возникает при моем вызове objRecordset.Open.Я использовал ADODB в прошлом и никогда не сталкивался с этой проблемой, что здесь дает?Может ли мой ADODB API быть как-то поврежден?

...