472,958 Members | 2,647 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,958 software developers and data experts.

Can I write an application with no server ?

[cross-posted on .databases.informix and .databases.ibm.db2]

Hello

I have an application using an internal database (user doesn't know
about it) and I would like to know if I can use some IBM product with a
run-time that I could emmbed in my app and redistribute, to provide SQL
access to database and possibly to let me create the database on first
run (after my app is installed). All that without the user having to
provide me an working instalation of a server. I would like just some
lite run-time to do the job. That is I am looking for a replacement to
Microsoft JET and MDAC.

Does anyone know an appropriate product from IBM that could do what I need ?

I tried searching IBM sites for DB2 and Informix and found nothing
relevant :(

Thank you
Timothy Madden
Romania
Jan 12 '06 #1
6 1288
Consider HyperSQL http://sourceforge.net/projects/hypersql/ then maybe
IBM Cloudscape
http://www-128.ibm.com/developerwork...es/cloudscape/ that are
very lightweight (with a tiny memory footprint) and "in theory" don't
require administration. AFAIK, HyperSQL may even be embedded in your
application.

Jan 13 '06 #2
Timothy Madden wrote:
[cross-posted on .databases.informix and .databases.ibm.db2]

Hello

I have an application using an internal database (user doesn't know
about it) and I would like to know if I can use some IBM product with a
run-time that I could emmbed in my app and redistribute, to provide SQL
access to database and possibly to let me create the database on first
run (after my app is installed). All that without the user having to
provide me an working instalation of a server. I would like just some
lite run-time to do the job. That is I am looking for a replacement to
Microsoft JET and MDAC.

Does anyone know an appropriate product from IBM that could do what I
need ?

I tried searching IBM sites for DB2 and Informix and found nothing
relevant :(


I'm going to commit heresy here and suggest that you look into c-tree Plus
from Faircom. It's an embedded ISAM style database with Relational features
and an available embeddable and stand-alone client server SQL engine and
separate user level SQL interface. You get all of these interfaces with the
same application source and ctree's highly portable source code to boot.
You get the best of both - an embeddable database and the ability to give
your uses an adhoc query tool and to hook them in from many ODBC tools they
may already know like MS Access and other unspeakable abominations.

C-tree was my favorite before I met Informix.

See www.faircom.com/products/ctree

Art S. Kagel

Jan 13 '06 #3
Faircom seems to support C/C++ interface only, what if the application
is java?
Also it's a commercial product whereas HyperSQL and IBM Cloudscape are
freeware (might not be an issue though)

-Eugene

Jan 13 '06 #4
Eugene F wrote:
Faircom seems to support C/C++ interface only, what if the application
is java?
Also it's a commercial product whereas HyperSQL and IBM Cloudscape are
freeware (might not be an issue though)

-Eugene


Thank you all for your suggestions.

My app is C++, but when I will chose a product, I will have to convince
my manager it is ok to switch. So a product with IBM brand on it would
realy help. It's not clear to me as yet if Cloudscape can be emmbeded
and the run-time redistributed with my app. I will have to check that.

What can you tell me about stability ? My is supposed to keep phone
calls in the database for an unlimited period of time (several years),
so I can take no chances to get the databse corrupted. Unfortunatly it
still happens with many, many new and young products :(
Timothy Madden
Romania
Jan 13 '06 #5
Timothy Madden wrote:
[cross-posted on .databases.informix and .databases.ibm.db2]

Hello

I have an application using an internal database (user doesn't know
about it) and I would like to know if I can use some IBM product with a
run-time that I could emmbed in my app and redistribute, to provide SQL
access to database and possibly to let me create the database on first
run (after my app is installed). All that without the user having to
provide me an working instalation of a server. I would like just some
lite run-time to do the job. That is I am looking for a replacement to
Microsoft JET and MDAC.

Does anyone know an appropriate product from IBM that could do what I need
?

I tried searching IBM sites for DB2 and Informix and found nothing
relevant :(


There are a number of companies who embed DB2 into their products with the
number growing with each release. The downside is that DB2 is still a
server (even if you turn off remote connections), and that you are still
limited to a single copy of DB2 on the system (i.e., if your customer
wanted to use both your product and to use DB2 normally, on the same
machine, they would have to be the same copy).

The real big upside to using DB2 (or Informix or ...) is the wealth of
experience that their code brings to your product. This can be a real
value-add for larger clients where they may outgrow a single computer and
need to cluster, for example. Or just in the fact that you no longer need
to worry about ACID requirements or backups/restores (you may just need to
provide an interface to the backup/restore functionality if you want to
hide the underlying database).

With DB2 as the example (since I don't know Informix), you can embed DB2 by
using the silent (response-file) install. You may also look into the
db2iprune tool if you're on Windows in order to remove optional components
that you don't want so as to shrink the size of the DB2 image and possibly
fit both your application and DB2 on the same CD if that's how you
distribute your software. (You can do the same on unix/linux, but the tool
is called 'rm' - I'd go into more detail, but I think you're worried only
about Windows.)

In that response file, you can install and set up DB2 for immediate use.
Then you can create any databases and start using the product immediate as
part of your own. I don't think the learning curve to do this is very
large at all - if you can write C++, this should be trivial ;-)

Jan 13 '06 #6
Timothy Madden wrote:
Eugene F wrote:
Faircom seems to support C/C++ interface only, what if the application
is java?
Also it's a commercial product whereas HyperSQL and IBM Cloudscape are
freeware (might not be an issue though)

-Eugene


Thank you all for your suggestions.

My app is C++, but when I will chose a product, I will have to convince
my manager it is ok to switch. So a product with IBM brand on it would
realy help. It's not clear to me as yet if Cloudscape can be emmbeded
and the run-time redistributed with my app. I will have to check that.

What can you tell me about stability ? My is supposed to keep phone
calls in the database for an unlimited period of time (several years),
so I can take no chances to get the databse corrupted. Unfortunatly it
still happens with many, many new and young products :(


C-tree is very stable. Haven't used it myself for years, but I first used
it in 1982 or so and the API and core embedded direct access code has not
changed much since. The whole client-server version is newer (circa 1990)
but still venerable and stable and the API is identical so you can ship with
the embedded DB but offer a client server upgrade and it could be handled by
installing the server and setting a config variable on the clients.

I do agree with Darin that using a true and complete RDBMS like DB2 or
Informix will give you a far more robust product, but your customers will
have to pay licensing fees through you which will boost your sales price or
cut into profits.

Art S. Kagel
Jan 13 '06 #7

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
by: Brett | last post by:
We have an application where the iusr_<srvr> has write NTFS permissions to a folder under the wwwroot (i.e. wwwroot\folder) and also there is a SQL Server database where we must give the...
2
by: FrodoBaggins | last post by:
Dear Team, I am running Visual Studio 2003 Version 7.1.3088 on Windows Server 2003. I have written a C# application that must write to the event log. When it attempts to write to the event log,...
3
by: Angelos Karantzalis | last post by:
Hi y'all, recently I've come across a situation where a web service needs to deal with an exception that might arise, originating from a COM+ component. It then returns an int value (please...
0
by: Zed | last post by:
I have a problem with .net writing to a remote server that I need to deploy on. The app works fine on my local machine. But when got access to the server I went to VS.NET and tried to create a...
0
by: steve | last post by:
Can any body tell my if I can use VB to write a web server side applion? We currently have a e-commerce web application using: Apache Web Server -> Java Servlet -> Sybase. A customer asked us to...
11
by: Michael Powe | last post by:
How can I make an XHTML-compliant form of an expression in this format: document.write("<scr"+"ipt type='text/javascript' src='path/to/file.js'>"+"</scr"+"ipt>"); this turns out to be a...
0
by: ttamilvanan81 | last post by:
Hai, I am doing a Struts application. In this application, i need to read a dbf file(foxpro database file) and it will be write to the SQL Server 2005. The application administrator will be...
4
by: Ross | last post by:
Hello, I am trying to Read and Write to a text file on a web server using Microsoft Visual Basic 2005 Express Edition. So far I have managed to complete my testing with a local text file using...
8
by: Mike Silva | last post by:
Hello all, I'm a longtime programmer (embedded with a smattering of desktop stuff as well) who knows very little about web programming. Right now I am developing the prototype of a multi-user...
3
by: sriram347 | last post by:
Hi I am a newbie to ASP.NET. I developed a web page (project type is web application) and I keep getting this error. B]Error message : "System.AccessViolation Exception attempted to read or...
0
by: lllomh | last post by:
Define the method first this.state = { buttonBackgroundColor: 'green', isBlinking: false, // A new status is added to identify whether the button is blinking or not } autoStart=()=>{
2
by: DJRhino | last post by:
Was curious if anyone else was having this same issue or not.... I was just Up/Down graded to windows 11 and now my access combo boxes are not acting right. With win 10 I could start typing...
2
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 4 Oct 2023 starting at 18:00 UK time (6PM UTC+1) and finishing at about 19:15 (7.15PM) The start time is equivalent to 19:00 (7PM) in Central...
0
by: Aliciasmith | last post by:
In an age dominated by smartphones, having a mobile app for your business is no longer an option; it's a necessity. Whether you're a startup or an established enterprise, finding the right mobile app...
0
tracyyun
by: tracyyun | last post by:
Hello everyone, I have a question and would like some advice on network connectivity. I have one computer connected to my router via WiFi, but I have two other computers that I want to be able to...
2
by: giovanniandrean | last post by:
The energy model is structured as follows and uses excel sheets to give input data: 1-Utility.py contains all the functions needed to calculate the variables and other minor things (mentions...
3
NeoPa
by: NeoPa | last post by:
Introduction For this article I'll be using a very simple database which has Form (clsForm) & Report (clsReport) classes that simply handle making the calling Form invisible until the Form, or all...
1
by: Teri B | last post by:
Hi, I have created a sub-form Roles. In my course form the user selects the roles assigned to the course. 0ne-to-many. One course many roles. Then I created a report based on the Course form and...
3
by: nia12 | last post by:
Hi there, I am very new to Access so apologies if any of this is obvious/not clear. I am creating a data collection tool for health care employees to complete. It consists of a number of...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.