webForumDet fria alternativet

Fel i databas koppling

ASP

16 svar · 617 visningar · startad av Coccozz

Medlem sedan apr. 20032 072 inlägg
Frågan#1

Fel i databas koppling har det tydligen blivit :(
Såhär ser koden ut i settings.asp:

'DIN DATABASANSLUTNING

ConnectString = "DataBase/db.mdb"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open ConnectString

Och såhär ser felmeddelandet ut

Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Driver Manager] Datakällan hittades inte och ingen standarddrivrutin är angiven
/../jiros_bannersys/config.asp, line 21

Vad ar fel

Medlem sedan nov. 20017 144 inlägg
#2

Du måste ange en driver eller provider. Sök på ex. provider.

Medlem sedan apr. 20032 072 inlägg
#3

Vad är en provider. Sokte men hittade inget lätttbegripligt.

Medlem sedan juni 200032 967 inlägg
#4

https://www.connectionstrings.com , enklare blir det inte. ;)

Medlem sedan apr. 20032 072 inlägg
#5

Men var skall det sättas in då?
Nu ser det ut såhär istället:

'DIN DATABASANSLUTNING

ConnectString = "DataBase/db.mdb"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & ConnectString

och felmeddelandet såhär:

Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][Drivrutin för ODBC Microsoft Access]Allmänt fel Det går inte att öppna registernyckeln 'Temporary (volatile) Jet DSN for process 0x16f0 Thread 0x1008 DBC 0x13e537c Jet'.
/../jiros_bannersys/config.asp, line 21

Vad har jag nu gjort för fel?

Hatar när jag inte förstår vad jag gör :(

Medlem sedan feb. 20032 027 inlägg
#6

kika på min koppling och jämför med din egna

	Dim objConn
	Set objConn = Server.CreateObject("ADODB.Connection") 
	objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source= "& server.MapPath("/sökvägen till databasen.mdb") & ";"
	Set connect = objConn
Medlem sedan apr. 20032 072 inlägg
#7

Nu har jag löst det problemet genom den här koden:

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source= "& server.MapPath("../database/db.mdb") & ";"

Då kommer nästa problem. Alltså, det här scriptet funkar skit.
Jaja, tack för hjälpen. Orkar nte mer idag.

Medlem sedan feb. 20032 027 inlägg
#8

Coccozz skrev:

Nu har jag löst det problemet genom den här koden:

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source= "& server.MapPath("../database/db.mdb") & ";"

Då kommer nästa problem. Alltså, det här scriptet funkar skit.
Jaja, tack för hjälpen. Orkar nte mer idag.

Kan du beskriva nästa problem :-)

kul att kunna hjälpa till med att få kopplingen att funka *ler*

Medlem sedan apr. 20032 072 inlägg
#9

Hehe...jovars. Varför inte.
Nu fungerar databaskopplingen, eller, iaf. den sidan som innehåller den. Nästa fel blir i sidan som bekräftar inloggning.
KODEN rad 22:

SQL = "SELECT * FROM User WHERE uEmail='" & Request.Form("Email") & "' AND uPassword ='" & Request.Form("Password") & "' "

Felmeddelandet:

Feltyp:
Microsoft JET Database Engine (0x80040E14)
Syntaxfel i FROM-instruktion.
/JiRos_BannerSys/user/login_confirm.asp, line 22
Medlem sedan nov. 20017 144 inlägg
#10

Testa detta:

SQL = "SELECT * FROM [User] WHERE uEmail='" & Request.Form("Email") & "' AND uPassword ='" & Request.Form("Password") & "'"
Medlem sedan nov. 20017 144 inlägg
#11

BTW: Använd inte request.form direkt i sqlen så där.

Medlem sedan dec. 20003 887 inlägg
#12

Jesper T skrev:

BTW: Använd inte request.form direkt i sqlen så där.

Mer om varför hittas vid en sökning på SQL injection.

function FixInject(strSource)
  FixInject = Replace(strSource, "'", "''")
end function

strSql = "SELECT * FROM [User] " & _
  "WHERE uEmail = '" & FixInject(Request.Form("Email")) & " AND uPassword = '" & FixInject(Request.Form("Password")) & "'"

User är som Jesper T visade ett reserverat ord.

Microsoft Jet 4.0 Reserved Words: http://support.microsoft.com/kb/321266/EN-US/

Medlem sedan apr. 20032 072 inlägg
#13

Okej, detta känns helt enkelt som om jag har dragit hem ett CPskript :(
Jaja, då kanske ni istället kan hjälpa mig med den här nören, för jag har hittat ett annat från Åsa Gruvsjö också, det funkar strålande bortsett från att jag hela tiden får meddelandet

Operationen måste använda en fråga som kan uppdateras.

Har sökt runt lite och hittat möjligheten att mappen inte hade de rätta behörigheterna, så jag flyttade databasen till en mapp där jag har andra databaser, men meddelandet är detsamma.
Vad är det egentligen som är fel?

Medlem sedan dec. 20003 887 inlägg
#14

@nders skrev:

I utforskaren, högerklicka på mappen där databasen ligger, välj Egenskaper, och sedan fliken Säkerhet. Om inte användarkontot IUSR_datornamn finns med i listan, klicka på knappen Lägg till och fyll i det i rutan.

Markera användarkontot IUSR_datornamn i listan och se till så följande rättigheter är markerade: Ändra, Läsa och köra, Läsa, och Skriva.

Medlem sedan apr. 20032 072 inlägg
#15

Finns juh inget som heter säkerhet :(
Kör XP Pro.

Medlem sedan juni 200032 967 inlägg
Medlem sedan apr. 20032 072 inlägg
#17

Tack @nders, min riddare :P

261 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)