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
  • 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..
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline


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

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Have you tried to learn about Unicode, UTF-8, and multibyte text encoding and all the articles are just too "academic" or too technical? This article aims to make the whole topic easy for just about anyone to understand.
Storage devices are generally used to save the data or sometime transfer the data from one computer system to another system. However, sometimes user accidentally erased their important data from the Storage devices. Users have to know how data reco…
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

708 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

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now