/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
2 udgiver af global.asa eller?
Fra : Ken Schultz


Dato : 09-09-02 11:43

Hej

Vi har fået lavet ASP-scripts, der via global.asa connecter til en
Access-database (dansk kundekartotek).

Vi er nu selv ved at lave en tysk version af kundekartoteket (en anden
Access-database) og ASP-filer, men er stødt ind i et problem vedr.
global.asa (vores programmør er p.t. indisponibel).

Hvordan kan vi lave en connection til begge databaser via global.asa uden at
de konflikter?

Kan vi lave 2 udgaver af global.asa?

Kan vi i global.asa lave et check på hvilken URL, der er tastet for at gå
ind i kartoteket (unikke URL's bruges ved begge kartoteker) inden der
defineres/laves en connection?

Global.asa for den danske version ser p.t. således ud:

<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Application_OnStart
'==FrontPage Generated - startspan==
Dim FrontPage_UrlVars(1)
'--Project Data Connection
Application("marketinglair_ConnectionString") = "Driver={Microsoft Access
Driver (*.mdb)};DBQ=x"
FrontPage_UrlVars(0) = "marketinglair_ConnectionString"
Application("marketinglair_ConnectionTimeout") = 15
Application("marketinglair_CommandTimeout") = 30
Application("marketinglair_CursorLocation") = 3
Application("marketinglair_RuntimeUserName") = ""
Application("marketinglair_RuntimePassword") = ""
'--
Application("FrontPage_UrlVars") = FrontPage_UrlVars
'==FrontPage Generated - endspan==
End Sub
Sub Session_OnStart
FrontPage_StartSession '==FrontPage Generated==
End Sub
Sub FrontPage_StartSession
On Error Resume Next
if Len(Application("FrontPage_VRoot")) > 0 then Exit Sub

sFile = "global.asa"
sRootPath = Request.ServerVariables("APPL_PHYSICAL_PATH")
if Left(sRootPath,1) = "/" then sSep = "/" else sSep = "\"
if Right(sRootPath,1) <> sSep then sRootPath = sRootPath & sSep
sRootPath = sRootPath & sFile

' discover the VRoot for the current page;
' walk back up VPath until we match VRoot
Vroot = Request.ServerVariables("PATH_INFO")
iCount = 0
do while Len(Vroot) > 1
idx = InStrRev(Vroot, "/")
if idx > 0 then
Vroot = Left(Vroot,idx)
else
' error; assume root web
Vroot = "/"
end if
if Server.MapPath(Vroot & sFile) = sRootPath then exit do
if Right(Vroot,1) = "/" then Vroot = Left(Vroot,Len(Vroot)-1)
iCount = iCount + 1
if iCount > 100 then
' error; assume root web
Vroot = "/"
exit do
end if
loop
' map all URL= attributes in _ConnectionString variables
Application.Lock
if Len(Application("FrontPage_VRoot")) = 0 then
Application("FrontPage_VRoot") = Vroot
UrlVarArray = Application("FrontPage_UrlVars")
for i = 0 to UBound(UrlVarArray)
if Len(UrlVarArray(i)) > 0 then FrontPage_MapUrl(UrlVarArray(i))
next
end if
Application.Unlock
End Sub
Sub FrontPage_MapUrl(AppVarName)
' convert URL attribute in conn string to absolute file location
strVal = Application(AppVarName)
strKey = "URL="
idxStart = InStr(strVal, strKey)
If idxStart = 0 Then Exit Sub
strBefore = Left(strVal, idxStart - 1)
idxStart = idxStart + Len(strKey)
idxEnd = InStr(idxStart, strVal, ";")
If idxEnd = 0 Then
strAfter = ""
strURL = Mid(strVal, idxStart)
Else
strAfter = ";" & Mid(strVal, idxEnd + 1)
strURL = Mid(strVal, idxStart, idxEnd - idxStart)
End If
strOut = strBefore & Server.MapPath(Application("FrontPage_VRoot") &
strURL) & strAfter
Application(AppVarName) = strOut
End Sub
</SCRIPT>
<head><title>Web Settings for Active Server Pages</title></head>

Hilsen Ken




 
 
Jens Gyldenkærne Cla~ (09-09-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 09-09-02 12:02

Ken Schultz skrev:

> Vi er nu selv ved at lave en tysk version af kundekartoteket
> (en anden Access-database) og ASP-filer, men er stødt ind i et
> problem vedr. global.asa (vores programmør er p.t.
> indisponibel).

> Kan vi lave 2 udgaver af global.asa?

Nej (ikke hvis begge versioner kører på samme server).

> Kan vi i global.asa lave et check på hvilken URL, der er
> tastet for at gå ind i kartoteket (unikke URL's bruges ved
> begge kartoteker) inden der defineres/laves en connection?


Nej - global.asa kan ikke få oplysninger fra en webside - det er
den websiden der trækker oplysninger fra global.asa.


> '--Project Data Connection
> Application("marketinglair_ConnectionString") =
> "Driver={Microsoft Access
> Driver (*.mdb)};DBQ=x"
> FrontPage_UrlVars(0) = "marketinglair_ConnectionString"

Hvis I nu laver 2 versioner af ovenstående - altså en
applicationvariabel til den tyske database og en anden variabel til
den danske - så kan i på de danske asp-sider benytte den danske
variabel og på de tyske sider benytte den tyske variabel.

Hvis I ikke orker at tilrette de eksisterende danske sider, kan i
eventuelt beholde navnene på de eksisterende applicationvariable,
og så bare tilføje tyske udgaver med nye navne.

Processen skal selvfølgelig gennemføres for alle sprogspecifikke
indstillinger i global.asa.


--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Tobias Hinnerup (09-09-2002)
Kommentar
Fra : Tobias Hinnerup


Dato : 09-09-02 12:16


"Jens Gyldenkærne Clausen" <jens@gyros.invalid> wrote in message
news:Xns92848484C311Djcdmfdk@193.88.15.213...
> > Kan vi lave 2 udgaver af global.asa?
>
> Nej (ikke hvis begge versioner kører på samme server).

Jo. Global.asa er per default gældende lokalt for hvert site der kører på
serveren, men er i øvrigt lokale for den kørende applikation - som du kan
definere per mappe.

Ref.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iisref/html
/psdk/asp/glob63vp.asp

/Tobias





Jens Gyldenkærne Cla~ (09-09-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 09-09-02 12:31

Tobias Hinnerup skrev:

>> > Kan vi lave 2 udgaver af global.asa?
>>
>> Nej (ikke hvis begge versioner kører på samme server).
>
> Jo. Global.asa er per default gældende lokalt for hvert site
> der kører på serveren,

Det er jeg klar over (min brug af "server" var misledende - men jeg
havde ikke lige overvejet "site". Og jeg tænkte altså ikke på en
fysisk webserver, men på en logisk server(-adresse)).


> men er i øvrigt lokale for den kørende
> applikation - som du kan definere per mappe.

Det er til gengæld nyt for mig. Tak for oplysningen.



--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Ken Schultz (09-09-2002)
Kommentar
Fra : Ken Schultz


Dato : 09-09-02 12:39

"Jens Gyldenkærne Clausen" <jens@gyros.invalid> skrev i en meddelelse
news:Xns92848484C311Djcdmfdk@193.88.15.213...
>
> > '--Project Data Connection
> > Application("marketinglair_ConnectionString") =
> > "Driver={Microsoft Access
> > Driver (*.mdb)};DBQ=x"
> > FrontPage_UrlVars(0) = "marketinglair_ConnectionString"
>
> Hvis I nu laver 2 versioner af ovenstående - altså en
> applicationvariabel til den tyske database og en anden variabel til
> den danske - så kan i på de danske asp-sider benytte den danske
> variabel og på de tyske sider benytte den tyske variabel.
>

Det virker. Mange tak!

Hilsen Ken




Søg
Reklame
Statistik
Spørgsmål : 177554
Tips : 31968
Nyheder : 719565
Indlæg : 6408852
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste