473,473 Members | 4,189 Online
Bytes | Software Development & Data Engineering Community
Create Post

Home Posts Topics Members FAQ

General design question

I have a legacy ISAM database on a customers server that I want to
access from an ASP .NET powered web-site on a different server. The
only communication method between the 2 must be tcp/ip, and the server
where the database is located can only make outgoing connections
(cannot accept connections). The database has no fancy access methods
such as SQL, ODBC, OLEDB, or anything other than a native API which
only includes basic functions for opening/closing a table, and reading/
updating records, nothing like sorting, adding indexes or tables,
etc... the database has about 20 tables, including a lot of data that
is similar to what you would find in programs like Outlook (PIM). I
can't change the database format/engine, and I don't want to
synchronize it to some other database format just to make data access
easier.

What options do I have, within these restrictions, to make this data
available to my ASP .NET code. Ideally whatever I come up with would
make working with this database as much like working with a SQL or
Access database as possible... this way examples that I find for
working with a SQL server, would also mostly apply to working with my
database.

I guess one route would be to create an ODBC driver for this database,
but that is no easy task. I do realize that what I want to do is
probably impossible, since I'm trying to take a database that supports
virtually nothing, and expect to be able to work with the data in the
same way as a database with full SQL support (for example).

Even if I could change the database format, something like SQL or
Access isn't going to help with the other *major* requirement -- the
customer's server cannot accept any incomming connections. SQL
Server, at least every example I've seen, needs to be able to accept
incomming connections. I could build some kind of proxy for it, but
then that probably wouldn't work well with ASP .NET, since ASP .NET
doesn't want to communicate via my proxy.

I'm hoping I'm missing something... since I do see that ASP .NET has
things like the "ObjectDataSet", which provides the ability to get
data from an object (which in theory could get data from anywhere).
Also, data can come from a "Web Service". However, it still seems
like a ton of extra work to create that extra layer, not just as easy
as using the data browser (in VWD) and dropping a table on your page
and being able to work with the fields, etc... Or writing a SQL query
to do what you need, instead of adding a new method to your object/
service everytime you want to add a page with a new query/function.
Plus, I'd like to find something to make the tcp/ip part easier,
between my web server and the customers server, but nothing I find is
geared towards the database server making outgoing connections (which
makes since, unless your customers are small businesses that are not
capable of configuring a router to do port forwarding, and if they
have to call a computer guy to setup my software, they aren't going to
buy it).
Jun 27 '08 #1
2 1013
See if you can dump the data you will need (which should not be everything)
to a more friendly database for .NET code. The other option is see if there
is a third party driver/provider for the legacy database.

--
Gregory A. Beamer
MVP, MCP: +I, SE, SD, DBA

Subscribe to my blog
http://gregorybeamer.spaces.live.com/lists/feed.rss

or just read it:
http://gregorybeamer.spaces.live.com/

*************************************************
| Think outside the box!
|
*************************************************
"eric" <es***@surfbest.netwrote in message
news:30**********************************@26g2000h sk.googlegroups.com...
>I have a legacy ISAM database on a customers server that I want to
access from an ASP .NET powered web-site on a different server. The
only communication method between the 2 must be tcp/ip, and the server
where the database is located can only make outgoing connections
(cannot accept connections). The database has no fancy access methods
such as SQL, ODBC, OLEDB, or anything other than a native API which
only includes basic functions for opening/closing a table, and reading/
updating records, nothing like sorting, adding indexes or tables,
etc... the database has about 20 tables, including a lot of data that
is similar to what you would find in programs like Outlook (PIM). I
can't change the database format/engine, and I don't want to
synchronize it to some other database format just to make data access
easier.

What options do I have, within these restrictions, to make this data
available to my ASP .NET code. Ideally whatever I come up with would
make working with this database as much like working with a SQL or
Access database as possible... this way examples that I find for
working with a SQL server, would also mostly apply to working with my
database.

I guess one route would be to create an ODBC driver for this database,
but that is no easy task. I do realize that what I want to do is
probably impossible, since I'm trying to take a database that supports
virtually nothing, and expect to be able to work with the data in the
same way as a database with full SQL support (for example).

Even if I could change the database format, something like SQL or
Access isn't going to help with the other *major* requirement -- the
customer's server cannot accept any incomming connections. SQL
Server, at least every example I've seen, needs to be able to accept
incomming connections. I could build some kind of proxy for it, but
then that probably wouldn't work well with ASP .NET, since ASP .NET
doesn't want to communicate via my proxy.

I'm hoping I'm missing something... since I do see that ASP .NET has
things like the "ObjectDataSet", which provides the ability to get
data from an object (which in theory could get data from anywhere).
Also, data can come from a "Web Service". However, it still seems
like a ton of extra work to create that extra layer, not just as easy
as using the data browser (in VWD) and dropping a table on your page
and being able to work with the fields, etc... Or writing a SQL query
to do what you need, instead of adding a new method to your object/
service everytime you want to add a page with a new query/function.
Plus, I'd like to find something to make the tcp/ip part easier,
between my web server and the customers server, but nothing I find is
geared towards the database server making outgoing connections (which
makes since, unless your customers are small businesses that are not
capable of configuring a router to do port forwarding, and if they
have to call a computer guy to setup my software, they aren't going to
buy it).
Jun 27 '08 #2
On Jun 3, 8:59*pm, "Cowboy \(Gregory A. Beamer\)"
<NoSpamMgbwo...@comcast.netNoSpamMwrote:
See if you can dump the data you will need (which should not be everything)
to a more friendly database for .NET code.
Wish I could, but as stated in my original post, not an option.
Although of course "not an option" could always become an option, but
I really hate to think of the amount of work required to change
database engines... since you can't see my code/design, just trust me,
this would be a huge project, pretty much a complete rewrite and
retest of the entire application.
The other option is see if there is a third party driver/provider for the legacy database.
Seeing as how I wrote the database engine myself -- nope, no 3rd party
support for it. Although, if there was a 3rd party driver (maybe I'll
write one), what would it be that would make it work with ASP .NET
code like SQL or Access?

I'm guessing my requirements are just too much for anything other than
writing all of my own code the hard way... which I'm not 100% against,
but I also don't want to waste my time if there is an easier (and
equally robust) method.
Jun 27 '08 #3

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

Similar topics

1
by: Steven O. | last post by:
I am basically a hobbyist programmer, at the moment doing a little work experimenting with some AI stuff. I learned C++, and then tried to teach myself MFC using MS Visual C++ 6.0. I swore off of...
2
by: kneejerkreaction | last post by:
I did not know where else to post this since there is no forum for general OOP questions. I am just getting into OOP after a lifetime of procedural programming. I'm developing a Help Desk Ticketing...
21
by: Litron | last post by:
Appologies, this isn't really a javascript specific question.... Just wondering what the current size standard is for web-page design... it used to be 800 x 600 pxls (which seems quite small...
3
by: Lauren Quantrell | last post by:
A general design question: Assuming I can figure out a way to link some local tables in an .MDB file to my Access2000 .ADP database (any help on this is appreciated as well), I'm wondering which...
3
by: JezB | last post by:
What's the generally accepted approach for using Styles and Stylesheets in a web application based on .aspx files, Web Controls, User Controls, and code-behind modules (c# in my case)? Most style...
105
by: Christoph Zwerschke | last post by:
Sometimes I find myself stumbling over Python issues which have to do with what I perceive as a lack of orthogonality. For instance, I just wanted to use the index() method on a tuple which does...
1
by: code3_brent | last post by:
Moving from VB6 to VB.NET or C# and had a general design question... I currently have a VB6 app that functions like a wizard. Form1 is displayed with configuration settings. The user enters the...
5
by: MP | last post by:
context: vb6 / ado / adox 2.8/ mdb file format / jet 4.0 provider (not using Access) trying to design first database I work for a very small company, detailing building 'components' There is...
1
by: Tim | last post by:
Dear All, In my opinion, there are so many possible designs for a project, even small up to a class. How can I know which one is better? Is there any important point I should consider in the...
40
by: RvGrah | last post by:
I've been writing in C# for about 4 years now, coming from VB.net and VB6 before that, in which I know I'm not alone. I found learning C#, at least to the extent that I use it in developing...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
1
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...
0
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence...

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.