UI Browser for DBreeze database

Sep 10, 2015 at 9:32 PM
Is there client viewer/browser that can open the dbreeze database?
Something to see all the tables and run queries against.
Sep 13, 2015 at 12:20 AM
Hi,
We don't have such, because any DBreeze table can contain heterogeneous data, which can be known only by the programmer.

It's possble to perform such actions for one table:
tran.Insert<int,long>("t1",1,1);
tran.Insert<int,string>("t1",2,"hi");
tran.Insert<int,byte[]>("t1",3,new byte[] {1,2,3});
//Getting nested table for index 4
var tbl=tran.InsertTable<int>("t1",4,0);
tbl.Insert<long,string>(4,"why");
On the low level key and value are byte[], .NET types are translated into sortable byte[] using DBreeze.Utils functions.
We, personally, very often use one master/physical table for storing primary key, secondary keys and increment value (if we can't use just max key for increment).
Oct 15, 2015 at 12:32 PM
So, after my application runs, how do I open up the database to query for database? Isn't there any tool I can use after the fact to open the database?

thanks in advance.
Oct 15, 2015 at 12:55 PM
Edited Oct 15, 2015 at 12:57 PM
DBreeze is embedded database and after your app instantiate DBreeze, other applications can't anymore access it (there is no files access share).
In the beginning only Scheme and Transaction files are locked, later also are locked files which are queried at the moment.
When table files are not in use anymore, locks are taken away and there will be a possibility to copy not used physical files from the hot database (except scheme and transaction which are locked until DBreeze instance is not disposed).

Application is very close to the data and all queries and transactions are of high speed.
Instead of stored procedures we use C# (or whatever .NET/MONO lang).
DBreeze is very flexible in data storage and projection, that gives amazing possibilities for the data juggling and building
very complex business logic quite elegant.

If we need to get some data we create a C# query DBreeze function and integrate into out APP, result is returned as HTML table or so.
We also don't make backups on the app/database level, that's done on virtual machines level where our OSes are running.
Oct 15, 2015 at 2:36 PM
Thanks for your response hhblaze,

but let me clarify: I'm not asking if there's a way to access the database from other applications, what i'm asking is a tool (just like NoSQL Veiwer that works with HBase, MongoDB, Cassandra, CouchDB, and Couchbase) that will help me open the database up to validate if the application has indeed successfully wrote to the table(s) and run some basic queries to see if the application did insert/update/deleted records in the table.

So the only way to validate if the application has inserted/updated/deleted records into the database is to either verify/check runtime? after the application is done running, there's no way to access the database/data?

thanks
Oct 15, 2015 at 2:45 PM
Edited Dec 15, 2015 at 11:03 PM
Exactly, we don't have any common viewer. If we need kind of projection we write C# code for that.
Also LinqPad can be a useful tool in the right hands.
Jan 9, 2016 at 12:02 AM
LinqPad can work as viewer.
Feb 27, 2016 at 1:23 PM
Hello,

I'm in urgently in need of viewer for Dbreeze DB to access to my old database.
The programmer who have programmed the initial program are not more accessible, and I am
in need to dump whole data to create new database.

Can anybody help with me ?

I have knowledge of linux gcc / perl / etc, but not for VCs/ C#s.
How do I make LinqPad to work as viewer ?

Or there are no ways of dumping data ?

Since I am having same issue with the original post, I've posted to here.

Thanks in advance,

,
Feb 29, 2016 at 9:48 AM
Edited Feb 29, 2016 at 9:48 AM
To make a dump the one must definitely need C#(or other .NET) knowledges.
With a help of Monodevelop on Linux you can DBEngine.Scheme to get
list of all tables.

Than iteration tran.SelectForward<byte[],byte[]>("one by one all tables") can return you data.

You must know from the code of your programmer types of keys and values.