AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.01.2008, 14:50   #1  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
НА ЗАМЕТКУ: прочитал здесь http://citforum.urc.ac.ru/database/cnit/6.shtml следующее (речь о Перле):

Цитата:
$ora_long Обычно Oraperl спрашивает базу данных о длине каждого поля и соответствующим образом распределяет буферное пространство. Это невозможно для полей типа LONG и LONGRAW. Распределение пространства в предположении максимально возможной длины (65535 bytes) привело бы к излишним тратам памяти. Поэтому когда &ora_open() определяет, что поле имеет тип LONG, память распределяется согласно значению переменной $ora_long. При инициализации она принимает значение 80 (для совместимости с продуктами Oracle), но в программе ее можно устанавливать произвольным образом.
может, нечто похожее?
Старый 10.01.2008, 16:48   #2  
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" , чтобы убедиться, в провайдере ли дело.
Теги
документация, ax2.5, ax3.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
HRM,склонение ФИО и все все все OmenSore DAX: Функционал 22 09.02.2009 17:08
Максимальная длина типа String в DAX 4.0 alex55 DAX: Программирование 31 29.01.2009 15:33
Denis Fedotenko: Новые поля в складских проводках Blog bot DAX: База знаний и проекты 10 24.05.2007 11:57
Длина поля ax_f DAX: Программирование 5 24.09.2004 12:17
Получить значение поля таблицы по номеру (Id) поля Anais DAX: Программирование 2 15.04.2004 13:00

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 15:50.