Владимир, а что если из Excel такой VBA-шный "джобик" запустить, чтобы понять, в Аксапте ли дело?:
Код:
Sub test_ADO_onVBA()
Dim adoConnection As Object
Dim adoRecordSet As Object
Dim adoCommand As Object
Dim adoFields As Object
Dim adoField As Object
Set adoConnection = CreateObject("ADODB.Connection")
adoConnection.Open "Provider=OraOLEDB.oracle;Data Source=ХХХ;User Id=YYY;Password=ZZZ;"
Set adoCommand = CreateObject("ADODB.Command")
adoCommand.activeConnection = adoConnection
adoCommand.CommandType = 1
adoCommand.CommandText = "SELECT MyField FROM MyTable WHERE rownum <= 1"
Set adoRecordSet = adoCommand.Execute
Set adoFields = adoRecordSet.fields
Set adoField = adoFields.Item(0)
While Not adoRecordSet.EOF
Debug.Print adoField.Name, "=", adoField.Value, " ", Len(adoField.Value)
adoRecordSet.moveNext
Wend
End Sub
У меня по-прежнему всё выполняется как надо
P.S. Ну и заодно попробовать "Provider=MSDAORA" , чтобы убедиться, в провайдере ли дело.