webForumDet fria alternativet

Databas anslutningar

9 svar · 324 visningar · startad av Gimbo

GimboMedlem sedan dec. 20001 626 inlägg
#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!!!

@ndersMedlem sedan juni 200032 969 inlägg
#2

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

GimboMedlem 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
@ndersMedlem sedan juni 200032 969 inlägg
#4

Hur ser Insert-frågan ut då?

GimboMedlem 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")
@ndersMedlem sedan juni 200032 969 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,

GimboMedlem sedan dec. 20001 626 inlägg
#7

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

@ndersMedlem sedan juni 200032 969 inlägg
#8

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

mvh

GimboMedlem sedan dec. 20001 626 inlägg
#9

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

@ndersMedlem sedan juni 200032 969 inlägg
#10

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

134 ms totalt · 3 externa anrop · v20260731065814-full.beb2e261
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)