Avatar billede m_b Nybegynder
11. januar 2001 - 20:38 Der er 4 kommentarer og
2 løsninger

Multiple-step OLE DB fejl

Hej folkens!
Hvad betyder nedståede fejl? Hvad kan den skyldes? Jeg får den i linie 0 (?!?!), men først i linie 20+ begynder jeg med ASP ?
Den eneste jeg gør på siden er, at udskrive noget data fra en mySQL base.
Fejlen:

Microsoft OLE DB Provider for ODBC Drivers error \'80020009\'
Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.


Avatar billede medjeti Nybegynder
11. januar 2001 - 21:21 #1
http://support.microsoft.com/support/kb/articles/Q175/2/39.ASP

SYMPTOMS
The following error occurs when accessing a recordset in an Active Server Pages (ASP) file that contains \"Text\" or \"Blob\" type data from a SQL table:

Microsoft OLE DB Provider for ODBC Drivers error \'80020009\'



CAUSE
The following condition may cause the error to occur:

Text/Blob fields are selected in an order preceding other types of fields.



RESOLUTION
When dealing with BLOB fields from Microsoft SQL Server, you must put them to the right of non-BLOB columns in the resultset. To be safe, you should also read the columns in left-to-right order, so if you have two BLOB columns as the last two columns in your resultset, read the first one and then the second. Do not read them in the reverse order.

To demonstrate the correct order of field selection create a new ASP page in a Visual InterDev Project and paste the following code in the blank ASP page. Modify the connection string to connect to your SQL Server:

  <%@ Language=VBScript %>
  <HTML>
  <BODY bgcolor=white>
  <%
      Set cn = Server.CreateObject(\"ADODB.Connection\")
      Set rs = Server.CreateObject(\"ADODB.Recordset\")

      \'Open the connection.
      cn.Open \"dsn=yoursystemdsn;uid=sa;pwd=;database=pubs;\"

      \'Open the recordset.

      \'Notice that the Blob field, pr_info, is last in the field order.

      rs.Open \"select pub_id, pr_info from pub_info\", cn

      While Not rs.EOF

        Response.Write \"<P>PR Info:<P>\" & rs(\"pr_info\")
        Response.Write \"<P>That was the PR Info for PubID \" &
                          rs(\"pub_id\")
        rs.MoveNext
      Wend
  %>
  </BODY>
  </HTML>



STATUS
This behavior is by design. However, it does not occur when using Mdac 2.1sp2 or later with the 3.7 driver or later for SQL Server.

You can download the latest version of Microsoft Data Access Components from the following Microsoft Web site:

http://www.microsoft.com/data/download.htm
Avatar billede hkramer Nybegynder
11. januar 2001 - 21:21 #2
Jeg er stødt på den samme fejl for nylig, og mener at det er noget med at de felter du har i dit sql ikke findes i den pågældende tabel, eller er af en anden type end den du prøver at tilgå dem som.

</hkramer>
Avatar billede m_b Nybegynder
11. januar 2001 - 21:43 #3
Jeg har kun char, int og date felter i db´en .... og jeg kan vel ikke udskrive dem forkert ?
Avatar billede hkramer Nybegynder
11. januar 2001 - 21:57 #4
Kan du ikke smide noget af dit kode herop og en beskrivelse af tabellerne, så skal jeg se på det.

</hkramer>
Avatar billede m_b Nybegynder
14. januar 2001 - 18:13 #5
sorry - har ikke fået kigget her de sidste par dage. Jeg har nu fået lokaliseret fejlen. Den kommer, hvis man prøver at udskrive en \'ugyldig\' dato. Der er ingen problemer, når den skal gemme dato´er, men kun ved udskrivning. Et andet problem er så, at den 29/02 (skuddag) også giver problemer! Jeg bruger et \'date\' felt til, at gemme mine dato´er i ... findes der en bedre løsning? 
Avatar billede m_b Nybegynder
18. januar 2001 - 10:58 #6
nå, men vi lukker bare her så. I må dele :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester