Я работаю над приложением VB6, которое использует объект ADODB.Recordset для передачи данных в файл .xml с помощью метода 'save', например:
adoRecordset.Save strDst, adPersistXML
где strDst - строка, описывающая пункт назначения.
Теперь в базе данных есть несколько строк, которые являются числами с плавающей запятой / двойниками для некоторой таблицы. Например, таблица TABLE содержит столбец MEASURE типа float.
Вопрос:
Можно ли контролировать расположение MEASURE, которое записывается в .xml-файл?
Например, если мера равна 1.23456789, возможно ли иметь меру = "1.234" в выходном файле?
Идея:
Набор записей ADO имеет коллекцию «Поля» типа «Поле» для каждой записи базы данных. Свойство «Точность» для полей существует, но в основном «только для чтения». Довольно непонятно, когда это можно написать, посмотрев на помощь MSDN. Можно ли это как-то использовать?
Ограничение:
Я хочу использовать метод «Сохранить». Я хочу знать, возможно ли это, чтобы избежать написания моего собственного метода.
Справка:
Цель состоит в том, чтобы перенести огромное количество данных, извлеченных из базы данных, по длинному каналу в другую систему. В этой системе данные загружаются в базу данных для предварительного анализа. Узкими местами являются канал и существующее приложение для извлечения данных, которое выбирает таблицы для передачи по некоторому алгоритму. Файлы .xml архивируются с высокой степенью сжатия, но их объем все еще слишком велик, поэтому мы решили отбросить некоторых не столь важных данных.
Боковые проблемы (в связи с одним решением при *)
Спасибо, что сегодня вы ответите. Я использую это немного по-другому, но это уже очень помогло (+1).
Проблема, которая появляется, состоит в том, что большинство значений хорошо округлены в желаемой позиции, но когда это записано в .xml, есть своего рода ошибка преобразования двоичного числа в десятичное. например 3.123 становится «3.1230000000000002».