Thanks a lot for the hint and I got through the loading stage and I did not
see any error message now. Then I started to run a simple adp file
(test.adp) as shown in the following:
<HTML>
<HEAD><TITLE>Test</TITLE></HEAD>
<BODY>
<H1>Test</H1>
<%
set db [ns_db gethandle]
%>
</BODY></HTML>
I got the "Test" displayed which means the AOLServer is working. However,
when I look at the command prompt, AOLServer says the command ns_db is not
enabled. As I understand, once the driver is loaded, I should be able to do
the above.
Anyone one has any suggestions as to what was the problem?
I have made progress from tons of error to no errors when I run nsd.exe -ft
nsd.tcl. The following is the right nsd.tcl for running "nsd.exe -ft
nsd.tcl":
# $Header: /cvsroot/aolserver/aolserver/nsd/sample-config.tcl,v 1.1
2000/10/09 22:00:32 kriston Exp $
#
# sample-config.tcl -- The AOLserver Startup Script
#
# This is a Tcl script that is sourced when AOLserver starts up.
# A detailed reference is in "doc/config.txt".
#
ns_log notice "config.tcl: starting to read config file..."
#
# Set some Tcl variables that are commonly used throughout this file.
#
set httpport 8000
set httpsport 8443
# The hostname and address should be set to actual values.
set hostname [ns_info hostname]
set address [ns_info address]
set servername "server1"
set serverdesc "Server Name"
set homedir [file dirname [ns_info config]]
set bindir [file dirname [ns_info nsd]]
set pageroot ${homedir}/servers/${servername}/pages
set directoryfile index.adp,index.html,index.htm
set ext [info sharedlibextension]
# nsssl: Only loads if keyfile.pem and certfile.pem exist.
#set sslmodule nsssl${ext} ;# Domestic 128-bit/1024-bit SSL.
set sslmodule nsssle${ext} ;# Exportable 40-bit/512-bit SSL.
set sslkeyfile ${homedir}/servers/${servername}/modules/nsssl/keyfile.pem
set sslcertfile ${homedir}/servers/${servername}/modules/nsssl/certfile.pem
# nscp: Uncomment the sample password and log in with "nsadmin", password
"x",
# type "ns_crypt newpassword salt" and put the encrypted string below.
set nscp_port 9999
set nscp_addr 127.0.0.1
set nscp_user ""
#set nscp_user "nsadmin:t2GqvvaiIUbF2:" ;# sample user="nsadmin", pw="x".
#
# Global server parameters
#
ns_section "ns/parameters"
ns_param home $homedir
ns_param debug false
#
# Thread library (nsthread) parameters
#
ns_section "ns/threads"
ns_param mutexmeter true ;# measure lock contention
ns_param stacksize 256000
#ns_param stacksize [expr 128*1024] ;# Per-thread stack size.
set home [file dirname [ns_info config]]
set bin [file dirname [info nameofexecutable]]
# Setting the following should get you going.
set server acs
set httpport 8000
set oracleuser "scott"
set oraclepassword "tiger"
set sroot servers/$server
foreach d [list log servers $sroot $sroot/modules $sroot/pages] {
if ![file exists $home/$d] {
file mkdir $home/$d
}
}
# Oracle8 driver
ns_section ns/db/drivers
ns_param ora8 ora8.dll
ns_section ns/db/pool/main
ns_param driver ora8
ns_param connections 2
ns_param user $oracleuser
ns_param datasource "ora0"
ns_param password $oraclepassword
ns_param verbose off
ns_section ns/db/pool/subquery
ns_param driver ora8
ns_param connections 2
ns_param user $oracleuser
ns_param datasource "ora0"
ns_param password $oraclepassword
ns_param verbose off
ns_section ns/db/pool/log
ns_param driver ora8
ns_param connections 2
ns_param user $oracleuser
ns_param datasource "ora0"
ns_param password $oraclepassword
ns_param verbose off
ns_section ns/db/pools
ns_param main main
ns_param subquery subquery
ns_param log log
#
# MIME types.
#
# Note: AOLserver already has an exhaustive list of MIME types, but in
# case something is missing you can add it here.
#
ns_section "ns/mimetypes"
ns_param default "*/*" ;# MIME type for unknown extension.
ns_param noextension "*/*" ;# MIME type for missing extension.
#ns_param ".xls" "application/vnd.ms-excel"
############################################################
#
# Server-level configuration
#
# There is only one server in AOLserver, but this is helpful when multiple
# servers share the same configuration file. This file assumes that only
# one server is in use so it is set at the top in the "server" Tcl
variable.
# Other host-specific values are set up above as Tcl variables, too.
#
ns_section "ns/servers"
ns_param $servername $serverdesc
#
# Server parameters
#
ns_section "ns/server/${servername}"
ns_param directoryfile $directoryfile
ns_param pageroot $pageroot
ns_param globalstats true ;# Enable built-in statistics.
ns_param urlstats true ;# Enable URL statistics.
ns_param maxurlstats 1000 ;# Max number of URL's to do stats on.
ns_param enabletclpages false ;# Parse *.tcl files in pageroot.
# Directory listings -- use an ADP or a Tcl proc to generate them.
#ns_param directoryadp $pageroot/dirlist.adp ;# Choose one or the
other.
#ns_param directoryproc _ns_dirlist ;# ...but not both!
#ns_param directorylisting simple ;# Can be simple or fancy.
#
# ADP (AOLserver Dynamic Page) configuration
#
ns_section "ns/server/${servername}/adp"
ns_param map "/*.adp" ;# Extensions to parse as ADP's.
#ns_param map "/*.html" ;# Any extension can be mapped.
ns_param enableexpire false ;# Set "Expires: now" on all ADP's.
ns_param enabledebug false ;# Allow Tclpro debugging with
"?debug".
# ADP special pages
#ns_param errorpage ${pageroot}/errorpage.adp ;# ADP error page.
#
# ADP custom parsers -- see adp.c
#
ns_section "ns/server/${servername}/adp/parsers"
ns_param adp ".adp" ;# adp is the default parser.
#
# Socket driver module (HTTP) -- nssock
#
ns_section "ns/server/${servername}/module/nssock"
ns_param port $httpport
ns_param hostname $hostname
ns_param address $address
#
# Socket driver module (HTTPS) -- nsssl
#
# nsssl does not load unless sslkeyfile/sslcertfile exist (above).
#
ns_section "ns/server/${servername}/module/nsssl"
ns_param port $httpsport
ns_param hostname $hostname
ns_param address $address
ns_param keyfile $sslkeyfile
ns_param certfile $sslcertfile
#
# Control port -- nscp
#
# nscp does not load unless nscp_user is a valid user.
#
ns_section "ns/server/${servername}/module/nscp"
ns_param port $nscp_port
ns_param address $nscp_addr
ns_section "ns/server/${servername}/module/nscp/users"
ns_param user $nscp_user
ns_section ns/server/gsdev/db
ns_param pools *
ns_param DefaultPool main
#
# Access log -- nslog
#
ns_section "ns/server/${servername}/module/nslog"
ns_param rolllog true ;# Should we roll log?
ns_param rollonsignal true ;# Roll log on SIGHUP.
ns_param rollhour 0 ;# Time to roll log.
ns_param maxbackup 5 ;# Max number to keep around when
rolling.
#
# CGI interface -- nscgi
#
# WARNING: These directories must not live under pageroot.
#
ns_section "ns/server/${servername}/module/nscgi"
#ns_param map "GET /cgi /usr/local/cgi" ;# CGI script file dir (GET).
#ns_param map "POST /cgi /usr/local/cgi" ;# CGI script file dir
(POST).
#
# Modules to load
#
ns_section "ns/server/${servername}/modules"
ns_param nssock ${bindir}/nssock${ext}
ns_param nslog ${bindir}/nslog${ext}
#ns_param nscgi ${bindir}/nscgi${ext} ;# Map the paths before
using.
#ns_param nsperm ${bindir}/nsperm${ext} ;# Edit passwd before
using.
#
# nsssl: Only loads if sslcertfile and sslkeyfile exist (see above).
#
if { [file exists $sslcertfile] && [file exists $sslkeyfile] } {
ns_param nsssl ${bindir}/${sslmodule}
} else {
ns_log warning "config.tcl: nsssl not loaded -- key/cert files do not
exist."
}
#
# nscp: Only loads if nscp_user is set (see above).
#
if { $nscp_user != "" } {
if ![string match "127.0.0.1" $nscp_addr] {
# Anything but 127.0.0.1 is not recommended.
ns_log warning "config.tcl: nscp listening on ${nscp_addr}:${nscp_port}"
}
ns_param nscp ${bindir}/nscp${ext}
} else {
ns_log warning "config.tcl: nscp not loaded -- user/password is not
set."
}
ns_log notice "config.tcl: finished reading config file."
>From: Rob Mayoff <[EMAIL PROTECTED]>
>Reply-To: AOLserver Discussion <[EMAIL PROTECTED]>
>To: [EMAIL PROTECTED]
>Subject: Re: [AOLSERVER] Help on Oracle8 driver for WinNT needed
>Date: Tue, 17 Apr 2001 04:51:09 -0500
>
> > The very first problem I have is that when nsd.exe try to load the
>driver,
> > it looks for the function called Ns_ModuleInit in the ora8.dll. This
> > function does not exist in the ora8.dll. As a matter of fact, all other
>dlls
> > in the bin directory have this function, for example, nsd.dll, nscp.dll
>etc.
> > I looked through the source code and found only Ns_DbDriverInit.
>
>ora8.dll does not have Ns_ModuleInit. It is not supposed to.
>Ns_ModuleInit is for loadable modules. ora8.dll is not a loadable
>module. It is a database driver.
>
>You are loading the driver incorrectly. You are listing it in the
>ns/server/server1/modules section of your config file instead of in the
>ns/db/drivers section.
_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com