Есть xml-ка. В ней около 40 тыс элементов с тремя полями.
Пробовал сначала загружать ее в DataTable, а потом с ним работать через
DataGrid. Все хорошо, но загружается очень долго. Процесс загрузки xml
файла в DataTable занимает около 30 мин, что естественно неприемлемо.
Посоветуйте какие есть варианты. Мне пришло в голову только одно — использовать
не xml файл а dbf. И работать с ним "динамически", т.е. не загружать все данные
в память. Пробовал реализовать этот вариант, но почему то не получается установить соединение
с dbf файлом. Создаю новый Connection, использую Microsoft ODBC Data Source (ODBC), bBASE Files
При попытке завершить создание соединения(использую мастер) он мне выдает MessageBox — The new connection uses a data
provider that is not supported. Если делаю то же самое не для Compact, то все ок. Подскажите какой будет
вообще наиболее правильный вариант работы с моими данными на Compact Framework 2.0
Здравствуйте, scorpion81, Вы писали:
S>Есть xml-ка. В ней около 40 тыс элементов с тремя полями. S>Пробовал сначала загружать ее в DataTable, а потом с ним работать через S>DataGrid. Все хорошо, но загружается очень долго. Процесс загрузки xml S>файла в DataTable занимает около 30 мин, что естественно неприемлемо. S>Посоветуйте какие есть варианты. Мне пришло в голову только одно — использовать S>не xml файл а dbf. И работать с ним "динамически", т.е. не загружать все данные S>в память. Пробовал реализовать этот вариант, но почему то не получается установить соединение S>с dbf файлом. Создаю новый Connection, использую Microsoft ODBC Data Source (ODBC), bBASE Files S>При попытке завершить создание соединения(использую мастер) он мне выдает MessageBox — The new connection uses a data S>provider that is not supported. Если делаю то же самое не для Compact, то все ок. Подскажите какой будет S>вообще наиболее правильный вариант работы с моими данными на Compact Framework 2.0
У меня ситуация похожая. В xml у меня порядка 10000 элементов, но много у каждого аттрибутов. Файл весит больше 3 метров. Загружал в начале в DataTable, но потом отказался — очень долго. Теперь загружаю в XmlDocument (что-то типа m_xmlDoc.Load(filename)). Указанный файл грузится 20 секунд. Зато потом всё летает.
Re: dbf на .Net Compact Framework 2.0
От:
Аноним
Дата:
31.10.06 13:42
Оценка:
Специально для танкистов есть SQL CE... Вы бы еще с CSV работали бы...
How can men die better than facing fearful odds,
For the ashes of their fathers and the temples of their gods?
Здравствуйте, BlackTigerAP, Вы писали:
BTA>Специально для танкистов есть SQL CE... Вы бы еще с CSV работали бы...
Танкисты в курсе....
Каждое средство имеет смысл применять там где оно нужно. Если на вход подаётся xml и xml (с некими модификациями) нужно получить на выходе, то на кой мне SQL?
В моем случае без разницы в каком формате будут данные xml, dbf или на sql сервере. Я смогу данные для програмки предоставлять в любом виде. Так Вы говорите, что SQL будет самым оптимальным? Других выходов вообще нет?
Re[2]: dbf на .Net Compact Framework 2.0
От:
Аноним
Дата:
31.10.06 15:28
Оценка:
>>Других выходов вообще нет?
Другие ВООБЩЕ есть, но SQLCE будет наиболее оптимальным по скорости работы с данными. Хотя тут свои проблемы тоже есть — сама загрузка данных в базу SQLCE. Идеальный вариант — иметь "большой" SQL сервер, хотя бы "Express", делать загрузку данных с него в SQLCE штатными средствами. Работает очень шустро. Далее приложение на "устройстве" уже работает с SQLCE-базой без всякого XML-геморроя.
ЗЫ: да и dbf-провайдера для CF я не встречал (не сильно и искал).
How can men die better than facing fearful odds,
For the ashes of their fathers and the temples of their gods?
Здравствуйте, scorpion81, Вы писали:
S>Есть xml-ка. В ней около 40 тыс элементов с тремя полями. S>Пробовал сначала загружать ее в DataTable, а потом с ним работать через S>DataGrid. Все хорошо, но загружается очень долго. Процесс загрузки xml S>файла в DataTable занимает около 30 мин, что естественно неприемлемо. S>Посоветуйте какие есть варианты. Мне пришло в голову только одно — использовать S>не xml файл а dbf. И работать с ним "динамически", т.е. не загружать все данные S>в память. Пробовал реализовать этот вариант, но почему то не получается установить соединение S>с dbf файлом. Создаю новый Connection, использую Microsoft ODBC Data Source (ODBC), bBASE Files S>При попытке завершить создание соединения(использую мастер) он мне выдает MessageBox — The new connection uses a data S>provider that is not supported. Если делаю то же самое не для Compact, то все ок. Подскажите какой будет S>вообще наиболее правильный вариант работы с моими данными на Compact Framework 2.0
Для загрузки данных с DBF рекомендую использовать OleDb, н-р, Jet, а не ODBC. Проблем намного меньше.
Здравствуйте, Dkm_S, Вы писали:
D_S>vasya-serega:
D_S>Для загрузки данных с DBF рекомендую использовать OleDb, н-р, Jet, а не ODBC. Проблем намного меньше.
D_S>А если бы прочитали, о чём речь идёт, то и с рекомендациями не торопились бы.