Newsgroup: it.comp.software.database
Titolo: Gestione Database...

Ciao a tutti,
non so se vi è capitato,
a me occorre creare una piccola applicazione in C++ per creare/gestire un
database.
La mia esigenza è di avere le potenzialità di ricerca classiche di un DB,
in una CPU di prestazioni ridotte e con un sistema operativo simil-DOS.
Non posso utilizzare quindi linguaggi visuali o API avanzate.
Siete a conoscenza di librerie/sorgenti in C++ adatte allo scopo ???
Grazie
Byez
Airpalaz
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 
SQLite è disponibile anche per sistemi Symbian, quindi potrebbe andare 
bene per te.
Altrimenti dovresti orientarti verso altri tipi di database, come 
Berkeley DB, ma perdi molte funzionalità che dovresti andare a 
reimplementare.
Ciao  Manlio


é un po datato, ma l'accoppiata Clipper e DBF sotto ambiente DOS non ha 
mai deluso nessuno :)
sicuramente qualche libreria che gestisce i DBF la trovi anche per C++.
^_Goblin_^

 in una CPU di prestazioni ridotte e con un sistema operativo simil-DOS.
Definire "prestazioni ridotte", quanta RAM libera, se periferiche di 
memorizzazione di massa, il volume complessivo dei dati, e quali siano 
le tue aspettative di velocita' delle interrogazioni.

 ^_Goblin_^
Grazie,
anche io infatti ero orientato per i DBF, ma non ho trovato ancora nulla
di librerie per DBF...
cercherò ancora... grazie...
(se nel frattempo hai qualche dritta o trovi qualcosa)


 Ciao  Manlio
Ciao,
intanto grazie....
ho provato a utilizzare SQLite, ma la loro libreria non č compilabile in
C++ per Borland (perchč gli mancano alcuni metodi come CreateMutex e
altri).
Tanto per intenderci, uso un sistema operativo real-time, che non mi rende
disponibile tutte le funzioni che ha Windows, quindi puntavo a qualcosa di
molto semplice, tanto per fare 2 query;
Non mi interessano Viste, Query innestate, Stored Procedure... semplici
interrogazioni su una tabella (massimo tra 2 tabelle)
Se hai qualcos'altro in mente... spara...
io continuo a cercare...
Byez
Andrea


 le tue aspettative di velocita' delle interrogazioni.
Tempi di risposta elevati,
volume come scritto sopra... 
CPU 900Mhz, RAM disponibile un centinaio di mega (ma l'utilizzo del
database č "saltuario", quindi non deve stare in RAM)
Il concetto č trovare anche una libreria per gestione di B+tree, o
qualcosa simile... una cosa di base per query su una tabella,
e che non utilizzi funzioni avanzate di Windows, perchč uso un sistema
operativo Real-Time che ha un set di API derivato da Windows ma molto
ridotto (SQLite č incompilabile proprio per questo motivo) 
Inoltre sono costretto a compilare con Borland C++ 5.0
Spero di essere stato abbastanza preciso...
se hai qualche idea...
ti ringrazio in anticipo..
Byez
Andrea



hai dato un okkio su 
http://sourceforge.net
e visto che usi il c++ della boland puoi provare 
http://www.torry.net/
G.

 [...]
Ciao  Manlio

 se hai qualche idea...
Prova a spulciare tra questi:
http://www.thefreecountry.com/sourcecode/database.shtml
e/o
http://c.snippets.org/browser.php?sect=20#20
oppure utilizzi un formato di memorizzazione come il CSV o l' RDB e ti 
crei le funzioni a manina, con ricerca sequenziale. (non sto' 
scherzando, certe volte e' produttivo, considerando l' insieme dei 
parametri, compresi i tempi e i costi di realizzazione).

 spara... io continuo a cercare...
Ti avrei suggerito berkeley db, purtroppo nella pagina
http://www.oracle.com/technology/software/products/berkeley-db/db/
index.html
non sono più disponibili i download per la versione 1.x e 2.x.
Le nuove aggiungono funzionalità che a te non servono.
Berkley db supporta sia l'accesso tramite hash che btree.
Ciao  Manlio

 Ciao  Manlio
Sto provando e riprovando, con SQLite,
sto incontrando un sacco di difficoltà,
in primis, anche commentando le 2 funzioni che mi danno errore,
ho grossi problemi di memoria; fallisce la Init di SQLite3,
quando fa la malloc credo... gli ho aumentato molto la memoria
disponibile, niente...
forse va a scrivere in una zona che il mio sistema operativo (si chiama
OnTime RTOS), non ammette.
Inoltre il secondo problema non trascurabile, è che è assolutamente
in-debuggabile, è un file in C da 100000 righe; il Debugger del Borland
non riesce a tirarlo su per intero, carica solo le prime 20.000 righe, e
sbaglia a calcolare le breakpoint.
Inoltre ti aggiungo che per le mie esigenze, non ho bisogno di MultiThread
o altre cose, l'accesso è unico, da un unico thread.
Per questo su SQLite vedo tante complicazioni che magari in un'altra
libreria non troverei.
Sto ancora cercando...
Grazie CMQ
Byez
Airpalaz
