webForumDet fria alternativet
Logga in / Bli medlem

Databas anslutningar

ASP

9 svar · 324 visningar · startad av Gimbo

Medlem sedan dec. 20001 626 inlägg
Trådstart#1

Hejsan!

Jag får världens skummaste felmeddelande, det är som så att när jag använder mig utav Jet.Oledb som ser ut så här:

Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source="&server.mappath("\database\database.mdb")

så fungerar det att läsa från databasen osv. men det går inte att skriva till databasen, så jag tänkte byta anslutningssätt mot denna:

Driver={Microsoft Access Driver(*.mdb)};DBQ="&server.MapPath("\database\database.mdb")&"; "

så får jag detta felmeddelande:

Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Driver Manager] Datakällan hittades inte och ingen standarddrivrutin är angiven

jag har pratat med webhotellet och de har stöd för läs och skrivrättigheter i mappen som databasen ligger i, så jag fattar noll!!!

Medlem sedan juni 200032 967 inlägg
#2

Vad menar du med att du inte kan skriva till databasen med det första anslutningsalternativet? Felmeddelande?

Medlem sedan dec. 20001 626 inlägg
#3

får detta felmeddelande:

Det finns tillfälliga fel i denna shop.Error while opening DB read:Syntax error in INSERT INTO statement.

Common solutions

1. Check that you haven't change default database path and name 
2. Check that your web server has Access 97 or 2000 ODBC installed 
3. Check that you have read, modify and delete permissions over database folder and database file 
4. Open your database with Access program and select Repair Database option 
5. Select other connection method like other connection string or DSN
Medlem sedan juni 200032 967 inlägg
#4

Hur ser Insert-frågan ut då?

Medlem sedan dec. 20001 626 inlägg
#5
mySQL="INSERT INTO customers (name, lastName, customerCompany, phone, email, address, zip, state, stateCode, city, countryCode, shippingAddress, shippingZip, shippingState, shippingStateCode, shippingCity, shippingCountryCode, password, idCustomerType, active) VALUES ('" &pName& "','"  &pLastName& "','" &pCustomerCompany& "','" &pPhone& "','" &pEmail& "','" &pAddress & "','" &pZip& "','" &pState& "','" &pStateCode& "','" &pCity& "','" &pCountryCode& "','" &pShippingAddress & "','" &pShippingZip& "','" &pShippingState& "','" &pShippingStateCode& "','" &pShippingCity& "','" &pShippingCountryCode& "','" &pEncryptedPassword& "',1,-1)"

 call updateDatabase(mySQL, rstemp, "saveorder 1")   

 ' get idCustomer of new customer
 
 mySQL="SELECT idCustomer FROM customers WHERE email='" &pEmail& "'"

 call getFromDatabase1(mySQL, rstemp, "saveorder 2")
Medlem sedan juni 200032 967 inlägg
#6

Felmeddelandet får du sannolikt för att du använt ett reserverat ord som fältnamn (password). Byt namn på det fältet.

Det är alltså inget fel på anslutningen.

Mvh,

Medlem sedan dec. 20001 626 inlägg
#7

har ändrat password till losen, men får samma fel

Medlem sedan juni 200032 967 inlägg
#8

Skriv ut SQL-frågan med response.write, som den ser ut nu, istället för att exekvera den.

mvh

Medlem sedan dec. 20001 626 inlägg
#9

tack anders för hjälpen, jag fick det att fungera

Medlem sedan juni 200032 967 inlägg
#10

Berätta gärna hur du fick det att fungera. :)

267 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
132 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)