---
title: "Databaskoppling..."
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/45506-databaskoppling"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "oskob"
published: "2002-06-09T15:51:48.000Z"
updated: "2002-06-11T11:16:18.000Z"
replies: 25
views: 701
page: 1
pages: 2
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/45506-databaskoppling"
---

# Databaskoppling...

_Sida 1 av 2._

## #1 — oskob, 2002-06-09T15:51Z

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  :)

Permalänk: https://www.webforum.nu/p/45506

## #2 — icaaq, 2002-06-09T16:20Z

Tjenare Oskob

wF har ju en suverän sökfunktion, så jag testade att söka lite åt dig och hittade [denna](http://www.webforum.nu/showthread.php?s=&threadid=11346&highlight=0x80004005)

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

Permalänk: https://www.webforum.nu/p/694686

## #3 — Eclipse, 2002-06-09T16:36Z

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
%>
```

Permalänk: https://www.webforum.nu/p/694692

## #4 — Eclipse, 2002-06-09T16:43Z

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.

Permalänk: https://www.webforum.nu/p/694694

## #5 — Eclipse, 2002-06-09T16:49Z

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??

Permalänk: https://www.webforum.nu/p/694697

## #6 — LAMP, 2002-06-09T17:28Z

> *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 ?

Permalänk: https://www.webforum.nu/p/694726

## #7 — Eclipse, 2002-06-09T17:43Z

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.

Permalänk: https://www.webforum.nu/p/694740

## #8 — oskob, 2002-06-09T17:47Z

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

Recset.Open SQL, Conn, 1, 2

Permalänk: https://www.webforum.nu/p/694745

## #9 — oskob, 2002-06-09T17:47Z

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

står det

Permalänk: https://www.webforum.nu/p/694746

## #10 — LAMP, 2002-06-09T17:51Z

> *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.

Permalänk: https://www.webforum.nu/p/694749

## #11 — oskob, 2002-06-09T18:03Z

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

Permalänk: https://www.webforum.nu/p/694757

## #12 — LAMP, 2002-06-09T18:05Z

Hur ser din kodsnutt ut nu då oskob?

Permalänk: https://www.webforum.nu/p/694762

## #13 — oskob, 2002-06-09T18:05Z

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\*

Permalänk: https://www.webforum.nu/p/694764

## #14 — oskob, 2002-06-09T18:06Z

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

Permalänk: https://www.webforum.nu/p/694766

## #15 — LAMP, 2002-06-09T18:09Z

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

Permalänk: https://www.webforum.nu/p/694768

## #16 — oskob, 2002-06-09T18:11Z

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

Permalänk: https://www.webforum.nu/p/694770

## #17 — oskob, 2002-06-09T18:15Z

> \<%
> 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?

Permalänk: https://www.webforum.nu/p/694771

## #18 — LAMP, 2002-06-09T18:18Z

> 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.

Permalänk: https://www.webforum.nu/p/694773

## #19 — oskob, 2002-06-09T18:26Z

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
%\>

Permalänk: https://www.webforum.nu/p/694777

## #20 — oskob, 2002-06-09T18:27Z

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

Permalänk: https://www.webforum.nu/p/694779

---

Tråden på webben: https://www.webforum.nu/amne/asp/45506-databaskoppling  
Nästa sida: https://www.webforum.nu/amne/asp/45506-databaskoppling/page2.md
