Не одскажите где можно взять простенький "движок" для ведения базы данных, который бы компилировался в EXE-файл (или хотя бы был в виде DLL)? А то не хочется в проект добавлять поддержку ODBC для ведения базы в несколько килобайт.
Здравствуйте Supervisor, Вы писали:
S>Доброго времени суток всезнающий All!
S>Не одскажите где можно взять простенький "движок" для ведения базы данных, который бы компилировался в EXE-файл (или хотя бы был в виде DLL)? А то не хочется в проект добавлять поддержку ODBC для ведения базы в несколько килобайт.
S>Заранее спасибо!
А почему ты думаешь, что поддержка ОДБЦ обойдётся дороже, чем поддержка пресловутого "простенького движка" ? Не нравится ОДБЦ — юзай АДО. По крайней мере в любой Windows-операционке стоит поддержка АДО, есть куча доки, есть поддержка Microsoft, есть нормальная обработка ощибок.
Да и вообще, какой бы простой движок не был, проще чем в том же АДО не будет:
Dim rs AS Recordset
rs.Open("SELECT * FROM Customers"...)
rs.Close
Здравствуйте Zar, Вы писали:
Zar>А почему ты думаешь, что поддержка ОДБЦ обойдётся дороже, чем поддержка пресловутого "простенького движка" ? Не нравится ОДБЦ — юзай АДО.
Это неверное противопоставление. ADO — это не альтернатива ODBC. ADO работает поверх ODBC или OLE DB, т.ч. если говорить о не-ODBC, то это не ADO, а OLE DB.
>По крайней мере в любой Windows-операционке стоит поддержка АДО, есть куча доки, есть
Все зависит от версии ADO.Если не хочется глюков, то придется тащить с собой наиболее свежий MDAC, а это уже пара мегов.
Здравствуйте Zar, Вы писали:
Zar>А почему ты думаешь, что поддержка ОДБЦ обойдётся дороже, чем поддержка пресловутого "простенького движка" ? Не нравится ОДБЦ — юзай АДО. По крайней мере в любой Windows-операционке стоит поддержка АДО, есть куча доки, есть поддержка Microsoft, есть нормальная обработка ощибок. Zar>Да и вообще, какой бы простой движок не был, проще чем в том же АДО не будет:
Ты похоже не понял мою проблему: мне надо просто чтобы прогу можно свободно было перписать на другой комп и она свободно работала без всяких там ADO или ODBC. Это первое. И второе: у меня не будет сложных таблиц в БД что бы к ним нужно было применять навороченные SELECT`ы. У меня просто будет одна таблица, и мне нужен простенький движок, который бы позволял осуществлять навигацию по БД, производить индексацию и т.п. Использовать для этих целей ADO и ODBC несколько нецелесообразно на мой взгляд, по причине их навороченности. Конечно если я не найду ничего нового, то прийдется остановиться на этом варианте.
1. Сначела Lexey
L>Это неверное противопоставление. ADO — это не альтернатива ODBC. L>ADO работает поверх ODBC или OLE DB, т.ч. если говорить о не-ODBC, то это не ADO, а OLE DB.
Я разве сказал, что АДО — альтернатива ОДБЦ? А ну-ка, где это... Я не говорю, через что и как работает АДО. Человек спросил "простенький движок", я предложил ему АДО. АДО сам по себе — не движок, а универсальныая обёртка для всех остальных движков. В ОС уже встроено как минимум несколько движнов. Что бы увидеть их, посмотри список OLE-DB провайдеров. Это и MS Jet, и провайдер для dbf-ов, и туева хуча еще всего... Ввиду попудярности АДО, вполне возможно, что одним из вариантов интерфейса к найденому дижку и будет OLE DB провайдер — сиречь, работать придётся через АДО.
L>Все зависит от версии ADO.Если не хочется глюков, L>то придется тащить с собой наиболее свежий MDAC, а это уже пара мегов
тоже не совсем верно. Что значит "свободно переписать на другой комп"? Сейчас ОС ниже Win95OSR 2.5 (линейка 9х) или NT4sp4/5/6+IE4.01 (линейка NT) не используется практически нигде. Самая маленькая версия АДО там 2.1. Вполне терпимо для "несложных заросов". Что и требовалось. Или ты готов гарантировать, что "простенький движок" будет устойчивее, чем АДО? А я вот работал с двумя "простенькими движками". И поставил бы на АДО.
2. Теперь Супервисор.
S>Ты похоже не понял мою проблему:
Прошу прощения, но мне кажется, что я понял.
S>мне надо просто чтобы прогу можно свободно было перписать на другой комп и она свободно работала без всяких там ADO или ODBC.
А почему не без msvcrt, mfc42, kernel, user32 etc :)
Мне кажется, что перед переписыванием тебе ее еще написать надо :)
S>Это первое. И второе: у меня не будет сложных таблиц в БД что бы к ним нужно было применять навороченные SELECT`ы. S>У меня просто будет одна таблица, и мне нужен простенький движок, который бы позволял осуществлять навигацию по БД, S>производить индексацию и т.п. Использовать для этих целей ADO и ODBC несколько нецелесообразно на мой взгляд, по S>причине их навороченности. Конечно если я не найду ничего нового, то прийдется остановиться на этом варианте.
Дружище, а что такое "простенький движок"? Этот тот, которым просто пользоваться и который просто поддерживать, или тот, который состоит из 2-3 сотен строк кода? Я думал что первое. Если ты подразумеваешь второе, пиши сразу, "мне нужнен движок, который ничего, кроме SELECT-а не умеет. Причем, если он будет уметь и INSERT то он мне не подходит ввиду своей навороченности, я считаю такой движок использовать нецелесообразно"
С уважением, Zar
PS. Прошу прощения за, может быть, излишне резкий тон постинга, но меня, если честно, сильно огорчает увеличившийся в последнее время поток вопросов, которые очень некоректно сформулированы. Нахрена тебе движок? Тебе оно надо, сидеть 10 движнов сравнивать? Где гарантия, что данный движок (явно какой-нитиь самоделкинский) будет работать устойчивее, чем стандартные средства ОС? Тебе нужен простой способ записать 2..3 сотни записей в 1 таблицу? Я бы данный вопрос оформил так:
Посоветуйте, как проще всего работать с БД из программы, в которой используется 1 таблица, при условии, что придётся ее запускать ее на операционках от ... до ... , возможность установить дополнительный модуль есть/нет, работа под админским бюджетом возможна/невозможна и т.д. (какие у тебя дополнительные условия — типа может ты ее через иНет распростаняешь, тебе размер дистрибутива имеет значение)
Здравствуйте Supervisor, Вы писали:
S>Здравствуйте Zar, Вы писали:
Zar>>А почему ты думаешь, что поддержка ОДБЦ обойдётся дороже, чем поддержка пресловутого "простенького движка" ? Не нравится ОДБЦ — юзай АДО. По крайней мере в любой Windows-операционке стоит поддержка АДО, есть куча доки, есть поддержка Microsoft, есть нормальная обработка ощибок. Zar>>Да и вообще, какой бы простой движок не был, проще чем в том же АДО не будет:
S>Ты похоже не понял мою проблему: мне надо просто чтобы прогу можно свободно было перписать на другой комп и она свободно работала без всяких там ADO или ODBC. Это первое. И второе: у меня не будет сложных таблиц в БД что бы к ним нужно было применять навороченные SELECT`ы. У меня просто будет одна таблица, и мне нужен простенький движок, который бы позволял осуществлять навигацию по БД, производить индексацию и т.п. Использовать для этих целей ADO и ODBC несколько нецелесообразно на мой взгляд, по причине их навороченности. Конечно если я не найду ничего нового, то прийдется остановиться на этом варианте.
S>С уважением, Supervisor.
Здравствуйте Zar, Вы писали:
Zar>Здравствуйте Supervisor и Lexey
Zar>1. Сначела Lexey
L>>Это неверное противопоставление. ADO — это не альтернатива ODBC. L>>ADO работает поверх ODBC или OLE DB, т.ч. если говорить о не-ODBC, то это не ADO, а OLE DB.
Zar>Я разве сказал, что АДО — альтернатива ОДБЦ? А ну-ка, где это... Я не говорю, через что и как работает АДО.
"Не нравится ОДБЦ — юзай АДО." — Если это не искомое утверждение, то извини.
>Человек спросил "простенький движок", я предложил ему АДО. АДО сам по себе — не движок, а универсальныая обёртка для всех остальных движков. В ОС уже встроено как минимум несколько движнов. Что бы увидеть их, посмотри список OLE-DB
В ОС они не встроены — это раз. Как правило они ставятся отдельно с приложениями, их использующими. Я на 95% уверен, что ни в голой Win95, ни в NT4 нет ничего (даже Jet'а).
>провайдеров. Это и MS Jet, и провайдер для dbf-ов, и туева хуча еще всего... Ввиду попудярности АДО, вполне возможно, >что одним из вариантов интерфейса к найденому дижку и будет OLE DB провайдер — сиречь, работать придётся через АДО.
Из того, что провайдер OLE DB, совсем не следует, что придется использовать ADO.
L>>Все зависит от версии ADO.Если не хочется глюков, L>>то придется тащить с собой наиболее свежий MDAC, а это уже пара мегов
Zar>тоже не совсем верно. Что значит "свободно переписать на другой комп"? Сейчас ОС ниже Win95OSR 2.5 (линейка 9х) или NT4sp4/5/6+IE4.01 (линейка NT) не используется практически нигде. Самая маленькая версия АДО там 2.1. Вполне терпимо для "несложных заросов". Что и требовалось. Или ты готов гарантировать, что "простенький движок" будет
Смотря что ты пишешь, если пишешь программку для себя, то про редистрибуцию нужных коспонентов вообще можно забыть, просто перечислив требуемое в readme. А если пишется коммерческий продукт, то тут тебе скорее всего придется тащить с собой все необходимое.
>устойчивее, чем АДО? А я вот работал с двумя "простенькими движками". И поставил бы на АДО.
Уж ADO, OLE DB, ODBC, JET, etc я бы ну никак не назвал "простеньким движком", судя хотя бы по их размерам.
1. Trantor
Спасибо за ссылку. Скачал, посмотрю что это за чудо
2. Zar
Z> Дружище, а что такое "простенький движок"?
В моем разумении "простенький движок" — это:
a) его код около 150-200 Kb
b) его не надо конфигурировать (как это приходится делать с ODBC, ADO, BDE)
c) его относительно просто использовать в программе
d) в нем может отсутствовать поддержка SQL
Ты зря так предвзято относишся к "простеньким" движкам. ADO & ODBC — это не
панацея от всех бед. Они конечно хорошо подходят для написания какой нибудь
базы данных по проводимой в России переписи населения, но не для мелких
программ (тем более если она постоянно висит в памяти). Я например знаю
одну контору которая как раз занимается разработкой именно таких движков:
Birdstep (www.birdstep.com). И документирует она свои продукты не хуже чем
Microsoft. Она проблема — "буржуи" бесплатно ничего не дают , поэтому
тот движок что у меня есть "выдохнется" через 30 дней. А ломать мне его не
хочется.
И на последок — ADO & ODBC это хорошо, но что ты будешь делать когда тебе
надо бедут переносить свою прогу на Linux? Microsoft точно не станет
заниматься преносом своих движков на эту платформу.
3. Lexey
L> Уж ADO, OLE DB, ODBC, JET, etc я бы ну никак не назвал "простеньким L> движком", судя хотя бы по их размерам.
Согласен! Они просто написаны для облегчения работы с разными форматами
баз данных (точно как и BDE), поэтому отсюда и их размеры.
Здравствуйте Supervisor, Вы писали:
S>Доброго времени суток всезнающий All!
S>Не одскажите где можно взять простенький "движок" для ведения базы данных, который бы компилировался в EXE-файл (или хотя бы был в виде DLL)? А то не хочется в проект добавлять поддержку ODBC для ведения базы в несколько килобайт.
S>Заранее спасибо!
Здравствуйте Elena28, Вы писали:
E>Может быть, DBISAM?
DBISAM бы мне помог, я использовал раньше продукт в своих программах на Delphi. Но насколько я знаю, его реализация существует только под Borland C++ Builder, а мне надо под MSVC. Или я ошибаюсь?
Здравствуйте Supervisor, Вы писали:
S>Ты похоже не понял мою проблему: мне надо просто чтобы прогу можно свободно было перписать на другой комп и она свободно работала без всяких там ADO или ODBC. Это первое. И второе: у меня не будет сложных таблиц в БД что бы к ним нужно было применять навороченные SELECT`ы. У меня просто будет одна таблица, и мне нужен простенький движок, который бы позволял осуществлять навигацию по БД, производить индексацию и т.п. Использовать для этих целей ADO и ODBC несколько нецелесообразно на мой взгляд, по причине их навороченности. Конечно если я не найду ничего нового, то прийдется остановиться на этом варианте.
Может быть подойдет ADOR? (msador15.dll — 48к). Ставится с IE (кажется начиная с 5). Содержит только Recordset, аналогичный ADODB. А таблицу держать в виде файла — rs.open из файла и rs.save в файл.
Здравствуйте Supervisor, Вы писали:
S>Доброго времени суток всезнающий All!
S>Не одскажите где можно взять простенький "движок" для ведения базы данных, который бы компилировался в EXE-файл (или хотя бы был в виде DLL)? А то не хочется в проект добавлять поддержку ODBC для ведения базы в несколько килобайт.
S>Заранее спасибо!
Здравствуйте Supervisor, Вы писали:
S>В моем разумении "простенький движок" — это: S>a) его код около 150-200 Kb S>b) его не надо конфигурировать (как это приходится делать с ODBC, ADO, BDE) S>c) его относительно просто использовать в программе S>d) в нем может отсутствовать поддержка SQL
S>Ты зря так предвзято относишся к "простеньким" движкам. ADO & ODBC — это не панацея от всех бед. Они конечно хорошо подходят для написания какой нибудь базы данных по проводимой в России переписи населения, но не для мелких программ (тем более если она постоянно висит в памяти). Я например знаю одну контору которая как раз занимается разработкой именно таких движков: Birdstep (www.birdstep.com). И документирует она свои продукты не хуже чем Microsoft. Она проблема — "буржуи" бесплатно ничего не дают , поэтому тот движок что у меня есть "выдохнется" через 30 дней. А ломать мне его не хочется.
Спрос рождает предложение. А просто так никто тоже работать не хочет. На то они и буржуи.
S>И на последок — ADO & ODBC это хорошо, но что ты будешь делать когда тебе надо бедут переносить свою прогу на Linux? Microsoft точно не станет заниматься преносом своих движков на эту платформу.
Я просто беру MDAC и пользуюсь БД Jet. В маленьких программках. Потому что их еще и официально продавать надо. И не морочу себе голову. И своим клиентам тоже. Под Linux и т.п. ничего не планируется — поэтому я снова не буду считать это своей головной болью. Правда в одной программке все же пришлось быстренько собрать подобие движка БД, но там сплошное ООП и технология "документ-вид", так что все прошло довольно гладко. Проще было бы взять тот же MDAC, да вот в требованиях стояло "ничего лишнего". А если бы не стояло — я бы использовал. IMHO...
Здравствуйте Supervisor, Вы писали:
S>В моем разумении "простенький движок" — это: S>a) его код около 150-200 Kb S>b) его не надо конфигурировать (как это приходится делать с ODBC, ADO, BDE) S>c) его относительно просто использовать в программе S>d) в нем может отсутствовать поддержка SQL
Ну, так mdac (т.е. ADO) и отвечает этому делу, кроме п. a и совершенно безсмысленного d. Ну, а дополнительные возможности никому не мешали еще.
S>И на последок — ADO & ODBC это хорошо, но что ты будешь делать когда тебе S>надо бедут переносить свою прогу на Linux? Microsoft точно не станет S>заниматься преносом своих движков на эту платформу.
А но над? Ну, по крайней мере тому кто хочет копировать программку по сети...
L>> Уж ADO, OLE DB, ODBC, JET, etc я бы ну никак не назвал "простеньким L>> движком", судя хотя бы по их размерам.
S>Согласен! Они просто написаны для облегчения работы с разными форматами S>баз данных (точно как и BDE), поэтому отсюда и их размеры.
И JET (о которм собственно и идет речь когда говорится об ADO как о простеньком движке) тоже?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте VladD2, Вы писали:
VD>Здравствуйте Lexey, Вы писали:
L>>Уж ADO, OLE DB, ODBC, JET, etc я бы ну никак не назвал "простеньким движком", судя хотя бы по их размерам.
VD>Ты о чем? Все это ставится дистрибутивом mdac (~2 мега). За один прием. В W2k и далее встоно в ОС.
Да ну, а 5Mb не хочешь (MDAC 2.7)? Кроме того, в 2.6 Jet не входил (а поставлялся отдельным куском), в 2.7 он вроде интегрирован.
S>программ (тем более если она постоянно висит в памяти). Я например знаю S>одну контору которая как раз занимается разработкой именно таких движков: S>Birdstep (www.birdstep.com). И документирует она свои продукты не хуже чем S>Microsoft. Она проблема — "буржуи" бесплатно ничего не дают :), поэтому S>тот движок что у меня есть "выдохнется" через 30 дней. А ломать мне его не S>хочется.
Слушай напиши поподробнее что там за движок? Он свое хранилище использует? а sql-парсер есть к нему?
Сколько говоришь стоит :)?
с уважением, иван
Веру-ю-у! В авиацию, в научную революци-ю-у, в механизацию сельского хозяйства, в космос и невесомость! Веру-ю-у! Ибо это объективно-о! (Шукшин)
Здравствуйте dad, Вы писали:
dad>Слушай напиши поподробнее что там за движок? Он свое хранилище использует? а sql-парсер есть к нему? dad>Сколько говоришь стоит ?
dad>с уважением, иван