Показать сообщение отдельно
Старый 10.01.2008, 16:48   #5  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Владимир, а что если из 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" , чтобы убедиться, в провайдере ли дело.