Несколько вопросов по разработке...

Средства разработки, технические вопросы, отвечает (по мере сил) Отдел Разработок
Закрыто
Det
Студент (1 lvl)
Сообщения: 46
Зарегистрирован: Пт дек 24, 2004 14:00

Сообщение Det » Вт фев 01, 2005 12:06

:БД

Сравнивали SQL Server CE и DB2 Everyplace, правда, года два назад. В итоге остановились на DB2. Преимущества: скорость, объем занимаемой памяти, файлы базы DB2 поддерживаются и PC версией Everyplace - можно легко портировать мобильное приложение на TabletPC или Notebook, не требуется отдельная инсталляция - просто кидаешь соотв. Dll в версию, каждая таблица - в отдельном файле (плюс индексы), соотв. синхронизировать можно, просто скопировав соотв. файлы на PC и процессировать их уже там с помощью PC версии Everyplace. Вообще Everyplace произвело впечатление крайне вылизанного продукта, а SQL CE был сыроват. Но, повторюсь, это было пару лет назад - сейчас все возможно изменилось.

Аватара пользователя
KAjFASH
Кандидат (3 lvl)
Сообщения: 117
Зарегистрирован: Чт авг 19, 2004 16:40

Сообщение KAjFASH » Вт фев 01, 2005 14:22

Я тут шуранул по нету и попал сюды где не очень радужные цифры светились: 15000 на проц лицензия... Это типа столько бабок оно стоит??? Чёто влоб на АйБиЭме не нарыл лицензии.
РегардЗ...
iPAQ, FS LOOX, Versija, Palm, Symbol... SD: 64,128,512
www.salesworks.com.ua

Det
Студент (1 lvl)
Сообщения: 46
Зарегистрирован: Пт дек 24, 2004 14:00

Сообщение Det » Вт фев 01, 2005 14:57

Надо смотреть здесь:

A version of DB2 Everyplace Database edition without the sync server option is available for $49 per user and is suitable for embedded or stand-alone use.

Что, конечно, тоже немало :) Но тогда лицензия вроде позволяла использовать бесплатно, при некоторых ограничениях - я сейчас не скажу точно при каких, к сожалению. Попробуйте посмотреть предыдущие версии.

Det
Студент (1 lvl)
Сообщения: 46
Зарегистрирован: Пт дек 24, 2004 14:00

Сообщение Det » Ср фев 02, 2005 12:14

Dimand писал(а):А как насчет сложности программирования DB2
Там все еще проще - набор сишных функций типа SQLAllocHandle, SQLConnect и т.д. которые выполняют все тоже самое, что и ADO - вообще при доступе к БД трудно придумать что-нибудь принципиально другое :)
Dimand писал(а):А если на ПК имется сервер DB2, а на КПК стоит Everyplace можно ли как-то формировать файлы на ПК и просто закачивать их на КПК?
Мы не использовали сервер DB2 и соотв. синхронизацию. Специальная программка на PC качала нужные файлы базы через RAPI, там они открывались stand-alone версией DB2 Everyplace и нужная информация закачивалась в большую базу. Вообще, все что мы использовали от Db2 - это соотв. dll, которой пользовались мобильное приложение и программа синхронизации. В данном случае Everyplace был очень удобен, если же говорить о встроенной синхронизации, то тут я ничего не скажу - у нас как раз стояла задача по минимуму привязываться к конкретному большому серверу базы данных в мобильном приложении.

Замечание насчет производительности
Dimand писал(а):Сторонники этого выбора мне ответили, что можно скомпилять и в машинный код - это так??
Не работал с C# на мобильном устройстве, но из общих соображений - это не совсем так, так как есть еще проверка стека вызовов при каждом вызове функции в .net - и это может заметно замедлить выполнение, а может и нет. Вообще на Pocketpcdn была прекрасная статья на эту тему где перечислялся ряд проблем с производительностью .net на мобильном устройстве и как их обходить (именно обходить) - например писать функции возможно большего размера и т.п. :) Попробуйте найти эту статью.

Det
Студент (1 lvl)
Сообщения: 46
Зарегистрирован: Пт дек 24, 2004 14:00

Сообщение Det » Ср фев 02, 2005 13:09

Dimand писал(а): Меня тоже интересует способ самостоятельной синхронизации с БД.
Какое назначение имела длл на настольном ПК? Или при переносе файла БД с КПК проиходила его конвертация (как скажем файлов PocketAccess или Excel)?
На настольном ПК крутилось специальное приложение - ActiveSync мы рассматривали, но не использовали - не скажу уже по какой причине. Это приложение скачивало данные с устройства в виде файлов БД Db2 Everyplace, потом оно обращалось к dll Everyplace, чтобы прочитать данные из этих файлов. По специальному алгоритму определялись изменения и с помощью обычных средств обращения к серверу баз данных накатывались на базу. Аналогично закачивались изменения на мобильное устройство.

Det
Студент (1 lvl)
Сообщения: 46
Зарегистрирован: Пт дек 24, 2004 14:00

Сообщение Det » Чт фев 03, 2005 11:53

Dimand писал(а):А на чем вы писали проги - для КПК и ПК (которая синхронизировала)?
EVC3 и VC6
Dimand писал(а):А что это за ДЛЛка и есть ли описалово на ее функции. Я вот поставил Everyplace - вроде ДЛЛки только для КПКшников с разными процами, они же на настольном не покатять...
Нет, мы читали файлы именно с помощью ДЛЛки. Называется DB2e.dll. К сожалению, не я писал доступ к данным на низком уровне, поэтому не скажу точно откуда она бралась (должно быть из папки x86). Описание функций есть, по крайней мере, в h файлах - sqlcli.h и так далее...

Закрыто

Вернуться в «Программирование для КПК»