You're close, but you've got a few things to nail down. The first is how you're going to connect - DSN, DSN-Less, UDL, etc. I've got a couple articles posted here on SSC that you should find useful and not too tedious to read! You mentioned DSN, but you're not referencing one in your code sample.
I'd recommend that you get your code working in plain VBScript (using Notepad to edit) or VB if you have it, then move it into ASP - that will help you troubleshoot I think. Then start on the ASP stuff.
I usually build my connection like this:
'use server.createobject when you're in ASP, use New ADODB.Connection in VB
set cn = CreateObject("ADODB.Connection")
cn.open "Provider=SQLOLEDB.1;Password=sqlservercentral;Persist Security Info=True;User ID=sa;Initial Catalog=Northwind;Data Source=MyServer;Application Name=TestApp"
You'll note one thing I added to my connection string - the application name - its REALLY handy when you're using sp_who to figure out who is doing what.
Im not a web/asp guy, but I don't think you want to put your connection in a session variable. Typically you want to think client server - when they post a page, open your connection, do whatever you need to do, close the connection. This would go in your .asp page, not global.asa.
As far as the server utility, it just gives you a way to refer to your server using a "pretty" name like DataServer instead of the IP address. You can use the client utility to do the same thing on the client even if the server is not configured that way - one way or the other, it all comes down to resolving the name to the machine IP.