Мне надо через ADO подключиться к внешней базе данных Oracle (данные не связаны с Axapta) и прочитать содержимое полей. Выполняю такой код
X++:
static server void test_ADO()
{
CCADOConnection adoConnection;
CCADORecordSet adoRecordSet;
CCADOCommand adoCommand;
CCADOFields adoFields;
CCADOField adoField;
;
adoConnection = new CCADOConnection();
adoConnection.open("Provider=OraOLEDB.oracle;Data Source=ХХХ;User Id=YYY;Password=ZZZ;");
adoCommand = new CCADOCommand();
adoCommand.activeConnection(adoConnection);
adoCommand.commandType(1);
adoCommand.commandText("SELECT MyField FROM MyTable WHERE rownum <= 1");
adoRecordSet = adoCommand.execute();
adoFields = adoRecordSet.fields();
adoField = adoFields.itemIdx(0);
while (! adoRecordSet.EOF())
{
print adoField.name(),"=",adoField.value(), " ", strLen(adoField.value());
adoRecordSet.moveNext();
}
pause;
}
Проблема в том, что длина символьных полей обрезается до 100 (ста) символов. Все, что превышает 100 символов просто отбрасывается.
Как можно получить полное содержимое символьных полей без ограничения по длине? Т.е. длина может быть и более 1000 символов (мемо-поля)
AXPATA 2.5 SP3
Использован драйвер "Oracle Provider for OLE DB 9.2.4.0" из пакета "Oracle9i Release 2 Provider for OLE DB Version 9.2.0.4.0 (including ODAC) 32-bit"