Sub Session_OnEnd
Dim Conn
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.ConnectionString = Application("Connection_String")
Conn.Open 'here is the error
....
End Sub
A Conn object is created the same way in Session_OnStart and is used throughout the application, and Application("Connection_String") still exists here (I tested). So I suppose the error is caused by the fact that we are in Session_OnEnd.
i am making a site using asp. in this i am using mssql server2k as backend. i ve created a dsn. i want use global.asa file for creating connection object so that i don't ve to create con object in every .asp page. for that i ve write following code
<script language="vbscript" runat="server"> sub Application_onStart()
set con=server.createobject("adodb.connection") con.open "dsn=pc;uid=sa;pwd=;database=dbname"
end sub sub Application_onEnd() set con=nothing
end sub sub Session_onStart()
end sub sub Session_onEnd()
end sub </script>
now anyone tell me how to use that connection object in any asp file for fetching the recordset.
The connection object is stored in a application object in a database.asp file which is included on all the pages. This is something that I didn't code but I am incharge of fixing it because we are having alot of problems with the IIS.
How do I remove the connection object from the application object? I am a bit confused, what if i just use a variable to set the connection and then still include the file on all the pages. Would that work? Code:
Rather than opening and closing a new connection to the database on every page, I have placed that connection into an Application variable. This has worked fine so far.
My issue is that I have a logoff page where it closes that connection.But this means that users who are on the application will not be able to access that connection.The obvious answer is that I don't close the database connection.But my problem is, I would like to eventually close that database connection.
How can I determine if an application variable (not session variable) exists?How can I determine that there are not any users on the application?
I'm working on a quick wrapper so that I can connect to a database, run a quick query, get the needed info and pass it on to the next page that needs it. I've been programming for a long time but not with ASP/VBscript and think it's just something stupid that I've overlooked. Code:
i am trying to insert a record into my database when a session times out, but the Session_OnEnd doesn't seem to be called... i read somewhere that it is not called but i didn't pay attention to it, and now it seems to be true.
Basically session_onend will not fire in my global.asa files! I have just made a very simple test to prove its not my programming and it still doesnt fire. Session_onstart works a treat but onend will not work even if you force the session to expire with abandon. I have tried on 2 of our servers now and it doesnt work on either.
my simple test is this:
Sub Session_OnEnd application("test") = "hello" End Sub
Now surely that should work. i obviously have a page that writes that test variable to the page but its always empty.
In my site I have a users system, when a user loges in his ID is placed in his cookies (cookies("uid")) so what I am trying to do is write a code in the Global.asa that will write in my DB whenever a loged user session starts and ends.
my problem is that the Session_OnEnd event does not support the use of cookies and even worse then that it does not support the CreateObject method in the Server Object with wich I connect to my DB.
So this is my code in the Global.asa, If you guys have any idea on how to make this code work, despite the disadvantages the Session_OnEnd Event has...
<script language="vbscript" runat="server"> Sub Application_OnStart Dim dbpath dbpath = Server.Mappath("data") & "db.mdb" application("CnStr_Main") = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbpath End Sub
sub Session_OnStart If request.cookies("uid")<>"" then Dim tmpconn,tmpRS,tmpDSNName,tmpsql Set tmpconn = Server.CreateObject("ADODB.Connection") Set tmprs = Server.CreateObject("ADODB.Recordset") tmpDSNName = application("CnStr_Main") tmpconn.Open tmpdsnname tmpsql = "SELECT * FROM users WHERE id=" & request.cookies("uid") tmprs.open tmpsql,tmpconn,3,3 if not tmprs.EOF then tmprs(12) = 1 tmprs.update end if tmprs.close tmpconn.close end if end sub
sub Session_OnEnd If request.cookies("uid")<>"" then Dim tmpconn,tmpRS,tmpDSNName,tmpsql Set tmpconn = Server.CreateObject("ADODB.Connection") Set tmprs = Server.CreateObject("ADODB.Recordset") tmpDSNName = application("CnStr_Main") tmpconn.Open tmpdsnname tmpsql = "SELECT * FROM users WHERE id=" & request.cookies("uid") tmprs.open tmpsql,tmpconn,3,3 if not tmprs.EOF then tmprs(12) = 0 tmprs.update end if tmprs.close tmpconn.close end if end sub </script>
So when *does* Session_OnEnd fire in my Global.asa file? Does it fire when they click a link to leave the site? Does it fire when the session times out?
I have an ASP application that is a electronic purchase orders system. My problem is that only 3 people can authorise a purchase order. When a purchase order is selected I update the table to show that the field is locked. If they complete the form then the database is updated and the lock is removed, all though at this stage the record moves into another part of the system and the lock becomes redundant. If however they dont complete the form the record is left in a permanent locked state, it could be that they decided to look at the record then navigated away or closed the browser. So i thought maybe i could stick some code that updates the database into the session_OnEnd in the global.asa, so after 20 minutes when the session has ended the lock will free. I don't however have any experience with this and don't even know if this will work. The code won't be a problem its just whether this process will actually work. I am thinking that I code put the order_id into a session variable then when the session variable ends i run a sub in the .asa file that gets the session variable and updates the table.
When a session end i want to delete a folder, however it doesn't seem to work, TempFolderPath is a global variable. or do i have to save the folder path in the db and use it when the the session ends ?
sub Session_OnEnd DeleteTempPath(TempFolderPath) end sub
Does this Scripting.FileSystemObject.DeleteFolder will it delete file that are in the folder or just empty folder.
I am tracking all activity on one of my sites, but if the user does not hit the LOGOUT button, I don't get a Logged out entry. I would like to stick it into the global.asa file so that it will do it when their session ends no matter how they exit.
This code below is what I have in my asa file now, but does not seem to be working.
Sub Session_OnEnd IF Session("USER_ID") <> 0 THEN oDb = Server.CreateObject("adodb.connection") ConnStr = "SQL CONNECTION STRING" oDb.Open(ConnStr) oDb.Execute("INSERT INTO Log (mLogin, IP, EventTime, EventDescr) VALUES("+Session("USER_ID")+", '"+Session("USER_IP")+"', GetDate(),'Log Out')") END IF
I'm simply trying to write a session id to a database using Session_OnStart and then remove that line from the database using Session_OnEnd so that I know when a user has logged in and logged out again. Here's the Session_OnStart code that works fine. There's just a bit field and an int field in a SQL Server database: Code:
Does anyone know why the Session_OnEnd subroutine in global.asa never gets called? I set Session.Timeout = 1, I also have debugging code that writes to a text file.
Session_OnStart writes to this file, however Session_OnEnd does not. I am also trying to access a database in this routine and it never happens, however I can access the database from within Session_OnStart. I have tried this on PWS and on line using IIS with the same results.
i know that Session_OnEnd (global.asa) do not support "response" i need somehow to redirect after the Session_OnEnd *if it will shoot of course i understand that there is some way to do this with application?
My Session_OnStart works but Session_OnEnd does not work. Here's the code...can anyone tell me what's wrong with my code or if anything else on the server that needs to be changed. The Session_OnStart does create the folder for me with the SessionID as the folder name but Session_OnEnd does not delete that folder. Code:
Through the years there's always been trepidation about relying on the Session_OnEnd routine being fired at the conclusion of a user session, hence my instinctive avoidance of using it in anything I've created.
Now comes a time when it'd actually be desirable to use this feature; can anyone tell me if its reliability is any better with IIS6 (under Server 2003) than it was with previous IIS incarnations?
I can successfully delete files using fso.DeleteFile when in an ASP script. But in Session_OnEnd, where I'd *really* like to clean up files, it appears that DeleteFile doesn't work. I've tried every combination I could think of. I've verified the filespecs I'm using by logging to a session log file.
BTW, I found out the hard way that I can't reference Request.ServerVariables("APPL_PHYSICAL_PATH") from within Session_OnEnd. I had to copy that to Session("AppPath") to keep it around for the OnEnd event. Without that, ASP just bails out of OnEnd, ignoring the remainder of the subroutine.
I'll admit my ASP skills are very rusty, and come seeking help.
I'm currently using a dictionary object to store a multi-dimensional array.
I want to pass this dictionary object to an object, which holds an array of dictionary objects.
However I'm finding that the array is not getting set, thus I'm having great issue with dynamically resizing the object's property for every new dictionary object I'm adding.
I have a VC++ COM object which fires an event. I've written VB EXE apps against it and they receive the event notification.
I've now built a simple VB COM object which uses the VC++ COM object internally.
My question is, assuming the ASP page which loads the object does not immediately exit, will the VB COM object be able to receive the events from the internal object?
We are using .net 1.1 on windows 2003 server. This is we are facing in our production server.
When we are doing the load testing we are getting the bellow error. While the load testing this error is not coming frequently. When we run 20 threads for 3 mins we are getting this error message 2 or 3 times. But this line of code is executed by all the threads. Code:
I want to open a recordset object on an .asp page. When I open the recordset I would like to use a stored procedure that expects a parameter to be passed for the stored procedure. I will then use the recordset to loop thru the recordset, update values from the recordset and then update the database by passing parmeters to another stored procedure.
I would like to use the recordset object but can it be used to pass a parameter to a stored procedure? Do I need to use a command object to open the records instead in order to pass the parameter to a stored procedure?
I wanted to know wheather DSN is ok for the connection to a database or direct conection is better?
when i started my web project on dreamweaver i had to make a DSN connection as i have followed the books, but as now as i have also asked several questions on this site, i have aslo implemented a direct connection as well on some pages, now i am wondering is this going to have any affects when i uplode the complete site on the server.
i have noticed that on my computer when i am testing the site and uploading new records on sections that have DSN connections you can see the new record but on sections that i have implemented direct connection i cannot see it coz it is linked to the local directory database not on the testing server.
i have also never experienced uploading to a IIS server with DB connection so its my first time with dynamic websites. so am i in trouble or its ok the way i have done my site..
A three-tier user authentication system was running without a problem for almost a year and now is suddenly dysfunctional. We don't know of any changes to any of the servers. It's quite maddening. The details:
1) We know the COM+ app is instanced on the COM+ server (Win 2000). The component graphic spins when CreateObject is called.
2) The proxy is installed on an IIS server (Win 2000) with delivers the interface, written in ASP, to the client PC.
3) These are the error messages displayed when a method of DAMS is called: Code:
I am trying to create a web page that has a drop down menu in which it retrieves data from our SQL server. Maybe this is a bit more simple than I am making it but I am really pulling my hair out trying to get this right. Code:
this is my error: [Microsoft][ODBC Microsoft Access Driver] The Microsoft Jet database engine cannot open the file '(unknown)'. It is already opened exclusively by another user, or you need permission to view its data.
here is my db connection string:
<%@Language=VBScript%> <!--#include file="adovbs.inc"--> <% dim rs, cn Set cn = Server.CreateObject("ADODB.Connection") 'with cn ' .Provider="Microsoft.jet.oledb.4.0" ' .ConnectionString=Server.MapPath("home/nfiweb.mdb") ' .Open 'end with cn.open "nfijobs" set rs = Server.CreateObject("ADODB.Recordset") %>
When I click submit after updating the information all of my info gets deleted from the db so I'm guessing that the values that are being submitted are not getting picked up in the sql. I've tried changing the form names, etc, but still have the same prob. My code is below: Code: