Har ett script som hämtar data från en access databas "onTheFly" och placerar det i ett formulär. Meddelandet du får beror på inställningar i din webbläsare. Se detaljer Det bör nog vara så här: Som Andreas säger: Scriptet fungerar som det ska nu efter att ha ändrat säkerhetsinställningarna i webbläsaren.. Men nu i dagarna fick jag ett tips att köra db anropet så här.. Förstår dock inte hur det ska gå till.. Du bör istället flytta ditt program från klienten till servern. Du exponerar annars din databas för internet. Med andra ord ger du en hacker fritt tillträde till din databas. Eftersom din kod desutom ligger på klienten avslöjar du din datastruktur. Håller helt med dig Andreas..Behöver tips och hjälp.
Använder mig av ett vbScript på en ASP sida.
Sciptet ser ut så här :
<script Language=VBScript>
sub window_onload
set RDS = CreateObject("ADODB.Connection")
set RS = CreateObject("ADODB.Recordset")
set RS2 = CreateObject("ADODB.Recordset")
RDS.Open "DSN=dnsnamn;Uid=anvnamn;Pwd=losenord;"
end sub
sub window_OnUnLoad
set RDS = nothing
end sub
sub hamta()
kundnmr = form1.kundnr.value
if isnumeric(kundnmr) = True and kundnmr >= 50000 then
SQL = "SELECT * FROM CUSTOMER_TAB WHERE CUS_CUSID = '" & kundnmr & "'"
Set RS = RDS.Execute(SQL)
if err.number > 0 then
alert "Timeout vid hämtning av kund! Försök igen. (" & err.number & ")"
elseif not RS.EOF or RS2.EOF then
//Kundinformationen
form1.fname.value = RS("CUS_FNAME")
form1.lname.value = RS("CUS_LNAME")
form1.company.value = RS("CUS_COMPANY")
form1.department.value = RS("CUS_SUBCOMPANY")
form1.adress.value = RS("CUS_ADRESS")
form1.Postnr.value = RS("CUS_ZIPCODE")
form1.PostOrt.value = RS("CUS_AREACODE")
form1.wphone.value = RS("CUS_WPHONE")
form1.mphone.value = RS("CUS_MPHONE")
form1.email.value = RS("CUS_EMAIL")
else
alert "Kundnummret finns inte. Försök igen."
form1.kundnr.select
form1.kundnr.focus
end if
end sub
</script>
Scriptet anropar jag genom att göra så här :
<input onBlur="hamta()" type="text" id="kundnr">
Problemet jag har är att varje gång databas anropet ska köras så får jag frågan :
"Microsoft ADO/RDS"
"Den här sidan ger åtkomst till en datakälla i en annan domän. Vill du tillåta detta?"
Om jag öppnar sidan direkt på webbservern så kan man bara svara "Ja" och då körs sidan korrekt, men om jag kör från en klient så spelar det ingen roll vad jag svarar, datat hämtas ändå inte från databasen.
Man ska kunna kringå detta problem på något sätt. Är det någon som har några tips på hur man kan göra?
Tack på förhand!
"Desperat"
Sv: Behöver tips och hjälp.
http://nezzo.nu/na.asp?id1=71&id2=3092Sv: Behöver tips och hjälp.
<code>
set RDS = Server.CreateObject("ADODB.Connection")
set RS = Server.CreateObject("ADODB.Recordset")
set RS2 = Server.CreateObject("ADODB.Recordset")
</code>
Tror att det kan lösa dina problem.Sv: Behöver tips och hjälp.
>Varfö använder du klientscript istället för serverscript?<
Lägg till Runat="Server"i script-taggenSv: Behöver tips och hjälp.
set RDS = CreateObject("ADODB.Recordset")
rpath = location.protocol & "//" & location.hostname & "/db/"
on error resume next
RDS.Open rpath & "rds.asp",,,,adCmdFile
Någon som har några tips?Sv: Behöver tips och hjälp.
Detta ser jag som en oerhört stor säkerhetsrisk.
Jag ser inga fördelar med skript på klientsidan som överväger de nackdelar de innebär.Sv: Behöver tips och hjälp.
Har fått till scriptet nu ialf. Körs direkt på servern och fungerar utan att en massa jobbiga frågor dyker upp hela tiden.
TACK FÖR ALLA TIPS!