Just nu i M3-nätverket
Gå till innehåll

ADODB


Palle1

Rekommendera Poster

Hej!

Jag får ett konstigt felmeddelande i min koppling:

-------------------

Microsoft OLE DB Provider for ODBC Drivers fel '80004005'

 

[Microsoft][Drivrutin för ODBC Microsoft Access] Ogiltig kopplingssekvens som inte kan hanteras av operativsystemet.

 

/web23/main.asp, rad 323

----------------------------

 

Detta felmeddelande får jag varannan dag!?!

 

Rad 323 ser ut så här:

RecSet.Open Link, Connect, adOpenStatic

 

 

Någon som har en aning om vad som är fel?

Mycket, mycket tacksam för ett svar.

 

 

//Palle

Länk till kommentar
Dela på andra webbplatser

Olof, Webmaster

Prova att sätta fnuttar runt om värdena:

 

RecSet.Open "Link","Connect","adOpenStatic"

 

Detta fungerar utmärkt hos mig. Jag kör iofs inte Option Explicit, för den kan säkert påverka.

 

Länk till kommentar
Dela på andra webbplatser

Att sätta fnuttar runt din variabler låter väldigt konstigt då du inte får innehållet i variablen utan du får namnet på variablen....

 

så här:

 

text = "Magnus är bäst"

 

om du skriver

RecSet.open text,Connect,adOpenStatic så tror datorn att det står:

-------------------------------

RecSet.open "Magnus är bäst",DIN_KOPPLINGSOBJEKT_TILL_DATABASEN,1 (tror jag adOpenStatic står för)

--------------------------------

om du sätter fnuttar runt tror dator att det står:

--------------------------------

RecSet.open "text","Connect","adOpenStatic"

--------------------------------

vilket borde generera en del felmeddelande.

 

Det är lite svårt att säga du man inte ser hela koden, men kolla så att din variabler verkligen har några värden, alltså att du har inkluderat filen med värdet till adOpenStatic samt att link innehåller sqlkod och connect innhåller sökvägen till din databas.

 

Om allt är som det skall så testa att upgradera din MDAC fil finns att ladda ner på MS sida. http://www.microsoft.com/data

 

- Magnus

 

 

 

 

[inlägget ändrat 2000-11-28 08:41:40 av magnus gladh]

Länk till kommentar
Dela på andra webbplatser

Olof, Webmaster

Hmm... prova för skojs skull att ta bort Option Explicit upp i toppen (om du nu har en sån).

 

Jag använder detta tillvägagångssätt hela tiden och det strular aldrig:

 

Set MyConn = Server.CreateObject("ADODB.Connection")

MyConn.Open "bla","bla","bla"

Länk till kommentar
Dela på andra webbplatser

Oj!!!

 

Det var ju skillnad. Du skriver ju inte in något i en variabel utan skriver direkt då skall du ha fnuttar men om du använder variabler skall du inte ha fnuttar...

 

båda dess exempel fungera lika bra.

 

-----------------------------------

databas = "Test"

user = "Magnus"

pwd = "hej"

 

set oConn = server.createObject("ADODB.Connection")

oConn.open databas, user, pwd

 

eller

 

oConn.open "Test","Magnus","hej"

-------------------------------------

 

Där spelar det ingen som helst roll hur man gör men för att öppna recordsetet måste du ha en koopling till databasen och den ligger lagrad i ett objekt att skriva ut den skulle inte jag ge mig på då jag inte har en anning hur den ser ut(tror inte det går ens) alltså måste du använda dig av varibelnamn.

 

-----------------------------------

recset.open "SQL_SATS", oConn

-----------------------------------

 

- Magnus

 

 

 

Länk till kommentar
Dela på andra webbplatser

Stefan Trimmel

Så här ser sidan ut:

<!-- #include virtual="/hib/inloggning/adovbs.inc" -->

<% Set Connect = Server.CreateObject("ADODB.Connection")

Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("\hib\db\spelare.mdb")

Set RecSet = Server.CreateObject("ADODB.Recordset")

Visa = "SELECT * FROM Spelare ORDER BY Nummer"

RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic %>

 

Längre ner på sidan:

<table border="0" width="304" cellspacing="0" cellpadding="0">

<tr>

<td width="304" valign="top"><table border="0" width="304" cellspacing="0" cellpadding="0">

<tr>

<td width="139"><b>Namn</b></td>

<td width="80"><p align="center"><b>Position</b></td>

<td width="85"><p align="center"><b>Tröjnummer</b></td>

</tr>

<tr>

<td width="304" colspan="3" bgcolor="#000000" height="1"><img

src="../../bilder/design/trans.gif" width="1" height="1"></td>

</tr>

<% Do Until RecSet.EOF %>

<tr>

<td width="139"><a

href="javascript:openWindow('spelarna/spelare.asp?id=<% =RecSet("Id") %>')"

onfocus="this.blur()"><% =RecSet("Namn") %></a></td>

<td width="80"><p align="center"><% =RecSet("Position") %></td>

<td width="85"><p align="center"><% =RecSet("Lag") %> <% =RecSet("Nummer") %></td>

</tr>

<% RecSet.MoveNext

Loop

RecSet.Close %>

</table>

 

Jag kan skicka adovbs.inc till dig om du vill.

Jag hittade inte någon nyare verision av adovbs.inc. Kanske gör du det?

Länk till kommentar
Dela på andra webbplatser

Kan det bero på att jag har en gammal adovbs.inc? Har du en nyare version så maila gärna den. =)

 

Jag har testar att sätta fnuttar runt med det gav ett nytt felmeddelande.

 

 

Hela min connect-sträng ser ut så här:

 

<% Set Connect = Server.CreateObject("ADODB.Connection")

Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=d:inetpub\wwwroot\palle\db\linkare.mdb"

Set RecSet = Server.CreateObject("ADODB.Recordset")

 

Link = "SELECT TOP 16 * FROM links ORDER BY ID DESC"

RecSet.Open Link, Connect, adOpenStatic %>

<%Do Until RecSet.EOF%>

 

<% Response.Write("  - <a href=" & RecSet("Url") & " target='blank'>" & RecSet("Adress") & "</a><br>") %>

 

 

<% RecSet.MoveNext

Loop

RecSet.Close

Connect.Close %>

 

--------------------------

 

Några förslag?

 

 

 

 

Hej!

Länk till kommentar
Dela på andra webbplatser

Det finns bara en version av adovbs.inc.

 

Den filen är bara en textfil med en massa Konstanter i , man får ju verkligen hoppas att MS inte ändrar dessa konstanter helt plötsligt.

 

Jag ser inget fel i koden, vilket får mig att tänka på en gammal ODBC drivrutin, ladda ner den senast MDAC från MS sida, eller testa att använda dig av OLE-DB istället för ODBC som kopplingsdrivrutin.

 

Läs mer här:

//eforum.idg.se/viewmsg.asp?EntriesId=154737#154786

 

- Magnus

 

 

 

[inlägget ändrat 2000-11-28 11:01:54 av magnus gladh]

Länk till kommentar
Dela på andra webbplatser

Benni Svensson

Jag skulle tro att felet kan ligga på din server.MapPath

Server.MapPath("\hib\db\spelare.mdb")

Du skall inte ha \ utan /

Testa.

En annan förklaring:

adOpenStatic inebär att du har en pekare som gör att du kan bläddra fram och tillbaka, men inte lägga till några nya poster (jag har för mig att det är så)

 

 

 

Länk till kommentar
Dela på andra webbplatser

Stefan Trimmel

Jag får det inte att fungera.

Hur ska det se ut?

Kan någon ändra mitt skript så att det blir rätt.

<!-- #include virtual="/hib/inloggning/adovbs.inc" -->

<% Set Connect = Server.CreateObject("ADODB.Connection")

Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("\hib\db\spelare.mdb")

 

Set RecSet = Server.CreateObject("ADODB.Recordset")

Visa = "SELECT * FROM Spelare ORDER BY Nummer"

RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic %>

Länk till kommentar
Dela på andra webbplatser

Hej!

Jag laddade hem nya MDAC och sedan dess har jag inte haft några problem, peppar peppar. Sedan bytte jag adOpenStatic mot adOpenDynamic eftersom det är kraftigare.

 

Tänk på att det inte skall vara några nellanrum mellan <% och = i <%=RecSet("Lag")%>

Då fungerar det inte... (hos mig i alla fall.)

 

//Palle

Länk till kommentar
Dela på andra webbplatser

  • 3 veckor senare...

Jag får samma felmedelande, och efter en hel del jobb har jag nu kommit fram till att jag endast får medelandet när jag använder Where i SQL-satsen. Om jag bara tar SELECT * FROM tabell så fungerar det utmärkt. Någon som vet orsaken???

 

Tack på förhand

/Johan

Länk till kommentar
Dela på andra webbplatser

Stefan Trimmel

Jag tror att felet är hos webserver. Jag har inte problemet längre och jag har inte ändrat något på mina sidor.

Om du plockar bort adovbs.inc och adOpenStatic, adLockOptimistic eller de du använder borde du inte få felet, men då fungerar antagligen inte sidorna.

Länk till kommentar
Dela på andra webbplatser

 

Jag blir så TRÖTT på skiten! Igår kväll fungerade sidan igen, idag fungerar den INTE. En annan sida jag har på samma dator, samma PWS fungerar hela tiden. Man kanske ska skola om sig till skogshuggare eller nått...

 

 

Länk till kommentar
Dela på andra webbplatser

Okej, nu börjar det likna något, min första SQL-sats ger felmeddelandet som finns högst upp i denna tråd, men om jag tar bort WHERE satsen så fungerar det, men då försvinner hela vitsen med inloggning.

 

Någon som vet varför det uppträder såhär?

 

Orginal SQL:

SQL ="SELECT DISTINCT * FROM anv, behor WHERE annamn='"&Request.Form("annamn")&"' AND anlosen='"&Request.Form("anlosen")&"'"

 

SQL som fungerar:

SQL ="SELECT DISTINCT * FROM anv, behor"

 

 

 

Länk till kommentar
Dela på andra webbplatser

Testa med att sätta Request.form("") i variabler i stället då skulle det se ut så här:

Dim anv, losen

anv = Request.Form("annamn")

losen = Request.Form("anlosen")

 

SQL ="SELECT DISTINCT * FROM anv, behor WHERE annamn LIKE '"&anv&"' AND anlosen LIKE '"&losen&"'"

 

Borde funka

 

 

Länk till kommentar
Dela på andra webbplatser

Ehh, jag förstår inte varför det skulle fungera bättre genom att behandla datan två gånger, just nu fungerar allt som det ska, har installerat en ny "mdac" igen. Men om det börjar krångla igen så ska jag testa din lösning även om den går emot "reglerna" om att minimera koden.

 

Tack

/Johan

 

Länk till kommentar
Dela på andra webbplatser

Nope, fungerade som jag misstänkte inte. Jag får väl helt enkelt installera Mdac varje dag för det verkar fungera efter att jag installerat det. Tack ändå...

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...