ODBC + virtual server + isapi = confusion

Posted on 1998-08-28
Last Modified: 2013-11-18
basically, i have the need to write an isapi extension which manipulates a database.. obviously, dao can't be used because it's not thread-safe.. so i'm left with two options: a flat file database or odbc.. problem is, my website is on a virtual server so i don't have means to set up a datasource on the nt box.. given this, what are my database options?

i suppose a flat file would work, but would probably be a complete waste of time..
Question by:rabbitears
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 3

Expert Comment

ID: 1171512
You could use direct DLL calls to dbLibrary (for MS SQL Server) or OCI (a.k.a. Oracle Client Interface), both of which exist in thread-safe versions (but only the more recent releases).

Consider also that in the case of an ISAPI extension, if your web server and DB server run on the same machine, the overhead of ODBC is not so bad. It's when you have an ODBC driver talking to a data source over the network that the performance really tanks. Unless you have some other objection to ODBC....

Does this help?


Expert Comment

ID: 1171513
Oops -- little follow-up to clarify: I don't understand how being on a virtual server prevents you from setting up an ODBC data source -- I do that all the time....


Author Comment

ID: 1171514
ok, i guess i should clarify.. i'm at home running a dial-up connection in sc. my server, however, is somewhere in md.. the database will remain on the server.. i think you thought i was housing it on my machine.. the only real interaction i have with the computer is an ftp log-on and password..
Free eBook: Backup on AWS

Everything you need to know about backup and disaster recovery with AWS, for FREE!


Expert Comment

ID: 1171515
Where you are doesn't matter. What matters is the relationship between the Web SERVER and the database server (or database file, if, e.g., you're using MS-Access). As long as the Web Server (e.g. IIS or Apache) is on the SAME computer as the database server or file, then ODBC will give you good to excellent performance. Your ISAPI filter will, of course, also run on that same computer.

You can't create an ODBC data source because you're using a web hosting service, and/or don't have physical access to the server (although I hear the drive from sc to md is lovely this time of year, hurricanes notwithstanding... ;-).

Can't you just ask the server operators to create and ODBC data source for you? Most web-hosting facilities will do this. If they can't or won't do this, how did you expect to ever install your ISAPI filter? You'll neet help from a SysAdmin with local access to the server to install that piece as well.

Author Comment

ID: 1171516
actually, i'm making that drive in a week or so to see a friend that lives there.. :) anyway, i'm sure they'll create the source for me.. i can also run my extension from the cgi-bin directory.. (don't ask me why i have a cgi-bin directory on an nt box.. they set it up) though i've heard you can set up iis4 to actually run cgi's, but that's irrelevant.. cgi-bin is an execute only directory so it does work..

if you'll post anoher answer, i'll give you the points..

Accepted Solution

danyell earned 50 total points
ID: 1171517
Thanks for the points, and while we're on the subject....

I think it makes LOTS of sense to have a cgi-bin on an NT server. I've done lots of work on sites that combine, for example, ASP and "regular" CGI scripts in Perl. I'm also really big on PerlScript, an ISAPI filter that works with the ASP 2.0 engine (in IIS 4) to let you write ASP files in Perl instead of VBSCript! All the real Perl features are there including the great parsing and facility dealing with local text files (something that requires backflips in VBScript).

Plus, in the present case having a cgi-bin worked out well for you since you can run your thing as an executable instead of an ISAPI filter.

Lastly, if you don't want to wait until you make that drive to get your ODBC data source, consider giving them a call or an e-mail... Web hosting facilities are used to getting requests like that... If you do it before you drive up there, you'll have a chance to see if there's a problem and correct it when you go there (instead of unpleasant surprises when you return home).

Again, good luck and don't hesitate to ask more questions or post additional comments here (I'm remaining "subscribed" to this question).


Author Comment

ID: 1171518
thanks again for the help.. the thought of mixing isapi with odbc frightens me a little bit so i'll probably be calling again :)  

good day

Featured Post

The Eight Noble Truths of Backup and Recovery

How can IT departments tackle the challenges of a Big Data world? This white paper provides a roadmap to success and helps companies ensure that all their data is safe and secure, no matter if it resides on-premise with physical or virtual machines or in the cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Create your own, high-performance VM backup appliance by installing NAKIVO Backup & Replication directly onto a Synology NAS!
Container Orchestration platforms empower organizations to scale their apps at an exceptional rate. This is the reason numerous innovation-driven companies are moving apps to an appropriated datacenter wide platform that empowers them to scale at a …
The viewer will learn how to pass data into a function in C++. This is one step further in using functions. Instead of only printing text onto the console, the function will be able to perform calculations with argumentents given by the user.
Video by: Mark
This lesson goes over how to construct ordered and unordered lists and how to create hyperlinks.

752 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question