webForumDet fria alternativet

Databaskoppling...

25 svar · 658 visningar · startad av oskob

oskobMedlem sedan maj 20021 558 inlägg
#1

Jag sitter o klurar med en databaskoppling...
Såhärser koden ut:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Set Recset = Server.CreateObject("ADODB.Recordset")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db/drawings.mdb") & ";pwd=;"

SQL = "SELECT * From Sidor WHERE Pic = '" & Request.Querystring("pic") & "'"

Recset.Open SQL, Conn, 1, 2

Response.Write "<big><b>" & Recset("Name") & "</b></big><br><br>"
Response.Write Recset("Info")

Conn.Close

Set Recset2 = Nothing
Set Conn2 = Nothing
%>

Så här ser felmedelandet ut:

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 0x1c0 Thread 0x204 DBC 0x10cb004 Jet'.
/asp/oskarart3/show.asp, line 41

Line 41 är :
Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db/drawings.mdb") & ";pwd=;"

Och, Ja databasen finns där -
Jag får alltid problem med dessa databaskopplingar.
Är det någon som kan någon enkel variant så meddela mig gärna :)

icaaqMedlem sedan okt. 20005 273 inlägg
#2

Tjenare Oskob

wF har ju en suverän sökfunktion, så jag testade att söka lite åt dig och hittade denna

Hoppas att det kan hjälpa dig :) om inte så får du posta igen så ska vi hjälpa dig :)

EclipseMedlem sedan juli 20003 825 inlägg
#3

OPEN.ASP

<%
'## OPEN THE DATABASE
Set Conn = Server.CreateObject("ADODB.Connection")

'## SELECT SERVER
IF Request.ServerVariables("SERVER_NAME") = "192.168.1.44" THEN
	' ## LOCALHOST
'	Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\Databas\olai.mdb"))
	Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("\Databas\olai.mdb")
ELSE
	' ## WEBSERVER
'	Conn.Open "olai", "", ""
	Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("\Databas\olai.mdb")
END IF
%>

CLOSE.ASP

<%
'## CLOSE THE DATABASE
Conn.Close
Set Conn = Nothing
%>
EclipseMedlem sedan juli 20003 825 inlägg
#4

Använd OLEDB kopplingen i stället. Jag vet inte riktigt vad det är för skillnad frutom att det alltid fungerar mycket bättre och det är positivt.

Som du ser använder jag samma kod på både den lokalaserbvern och webbservern. Jag tog med det för att illustrera skillnaden.

Filerna ligger inkluderar jag på varje sida:

<!-- #INCLUDE VIRTUAL="/admin/open.asp" -->

<%
' ## SELECT...
response.write...
%>

<!-- #INCLUDE VIRTUAL="/admin/close.asp" -->

---
Med detta tillvägagångssätt slipper du bry dig om att hålla på och krångla med Microsofts krångliga kod för att öppna databasen. Bara inkludera open.asp och fokusera på att koda din sida.

EclipseMedlem sedan juli 20003 825 inlägg
#5

Du kan senare utveckla detta till GetRows, men det kan ses som överkurs i nuläget.

Vad man gör då är att man frågar efter specifika poster från en eller flera tabeller och sparar dom i en array, ungefär som en karta med olika x och y värde.

<%
IF isArray(mySelectedNews) THEN
...
response.write ...
END IF
%>

Sen frågar du om variabeln är en array och om den är det skriver du ut värdet i arrayen.

Are you with??

LAMPMedlem sedan mars 2002777 inlägg
#6

Ursprungligen av Eclipse **Du kan senare utveckla detta till GetRows, men det kan ses som överkurs i nuläget.

Vad man gör då är att man frågar efter specifika poster från en eller flera tabeller och sparar dom i en array, ungefär som en karta med olika x och y värde.

<%
IF isArray(mySelectedNews) THEN
...
response.write ...
END IF
%>

Sen frågar du om variabeln är en array och om den är det skriver du ut värdet i arrayen.

Are you with??**

Var kommer arrayerna in i bilden? Är det för att ersätta:

if rs.eof then ?

EclipseMedlem sedan juli 20003 825 inlägg
#7

Hehe...

Om man utvecklas som programmerare kommer man kanske senare fram till att en array kan vara ett attraktivt alternativ att optmera sin kod på.

Men det är klart, har man inte den approachen på sitt arbete så kan det verka lite off-topic.

Jag tycker nämligen att killen som postade det första inlägget verkar ha en något krånglig kod. Jag fattar inte vad som händer... Då har jag endå hållt på med asp i 3 1/2 år och känner mig inte längre som en novis på området.

oskobMedlem sedan maj 20021 558 inlägg
#8

nu har jag okmmit en bit till MEN!
denna rad kronglar ALLTID!

Recset.Open SQL, Conn, 1, 2

oskobMedlem sedan maj 20021 558 inlägg
#9

Feltyp:
Körningsfel i Microsoft VBScript (0x800A01A8)
Objekt krävs.: ''

står det

LAMPMedlem sedan mars 2002777 inlägg
#10

Ursprungligen av Eclipse **Hehe...

Om man utvecklas som programmerare kommer man kanske senare fram till att en array kan vara ett attraktivt alternativ att optmera sin kod på.

Men det är klart, har man inte den approachen på sitt arbete så kan det verka lite off-topic.

Jag tycker nämligen att killen som postade det första inlägget verkar ha en något krånglig kod. Jag fattar inte vad som händer... Då har jag endå hållt på med asp i 3 1/2 år och känner mig inte längre som en novis på området.**

Det var inte det jag frågade, jag använder själv arrays (getrows)dagligen. Men du kan inte kolla om du fick ut någon post med funktionen isarray(), utan du måste kontrollera ditt recset först ifall det är tomt, om du vill ha den kollen vill säga.

oskobMedlem sedan maj 20021 558 inlägg
#11

...som svar på min fråga :P

LAMPMedlem sedan mars 2002777 inlägg
#12

Hur ser din kodsnutt ut nu då oskob?

oskobMedlem sedan maj 20021 558 inlägg
#13

databaskoppling igen.

Nu har jag kommit fram till att min databaskoppling är kronglig, jobbig, ful och att den inte fungerar.
Kan någon i världen vara så snäll att han/hon skriver en sådan inkl. Recset. Det vore väldigt trevligt! *vibbrerar*

oskobMedlem sedan maj 20021 558 inlägg
#14

Jag ska bara lägga till att jag försökt med sökfunktionen men hittade inget vettigt svar.
Så inga klagomål tack
bara en li ten kod så blir jag glad :D

LAMPMedlem sedan mars 2002777 inlägg
#15

Alla hade blivit mycket gladare om du höll dig till en tråd och inte korspostade i samma forum ;)

oskobMedlem sedan maj 20021 558 inlägg
#16

jo jag kom på det sekunden efter att jag postat :(
sorry

oskobMedlem sedan maj 20021 558 inlägg
#17

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Recset = Server.CreateObject("ADODB.Recordset")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db\drawings.mdb")

SQL = "SELECT * From Sidor WHERE Info = '" & Pic & "'"
Recset.Open SQL, Conn, 1, 2

Response.Write Recset("ID")

Conn.Close
Recset.Close

Set Recset = Nothing
Set Conn = Nothing

%>

är detta helt åt skogen?

LAMPMedlem sedan mars 2002777 inlägg
#18

Så här ser felmedelandet ut:

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 0x1c0 Thread 0x204 DBC 0x10cb004 Jet'.
/asp/oskarart3/show.asp, line 41

Line 41 är :
Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db/drawings.mdb") & ";pwd=;"

Brukar bero på att rättigheterna på katalogen där databasen ligger är för låga. Gå in i utforskaren, högerklicka på rätt katalog, välj filken säkerhet och ändra rättigheterna för IUSR_<servernamn> till RXWD.

oskobMedlem sedan maj 20021 558 inlägg
#19

jag gjorde om lite nu
såhär ser det ut:

<%
Dim Conn
Set Conn = Server.CreateObject("ADODB.Connection")
Dim Recset
Set Recset = Server.CreateObject("ADODB.Recordset")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db/sidor.mdb") & ";pwd=;"

Dim SQL
SQL = "SELECT * From Info WHERE Pic = '" & Request.Querystring("pic") & "'"
Recset.Open SQL, Conn, 1, 2

Response.Write "hej"

Recset.Close
Conn.Close

Set Recset = Nothing
Set Conn = Nothing
%>

oskobMedlem sedan maj 20021 558 inlägg
#20

vet itne varför jag gjkrde om
tänkte det kankse skuille gå... men inte då

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