---
title: "En OLE DB-åtgärd i flera steg genererade fel."
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/60804-en-ole-db-åtgärd-i-flera-steg-genererade-fel"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "supreme"
published: "2002-12-01T11:46:38.000Z"
updated: "2002-12-01T12:25:20.000Z"
replies: 2
views: 664
page: 1
pages: 1
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/60804-en-ole-db-åtgärd-i-flera-steg-genererade-fel"
---

# En OLE DB-åtgärd i flera steg genererade fel.

## #1 — supreme, 2002-12-01T11:46Z

Hejsan jag håller på att bygga ett system där användare ska kunna ladda up filer till servern, dessa ska läggas i databasen och på servern där detta ligger så har de SoftArtisan's FileUp som jag själv inte gillar särskilt, hade AspUpload innan och det var mycket bättre, men nu håller jag iaf på att konvertera till FileUp, och denna raden:
RecSet.Fields("filesize") = Upload.TotalBytes ger följande fel:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)
En OLE DB-åtgärd i flera steg genererade fel. Kontrollera alla OLE DB-statusvärden som finns tillgängliga. Inget arbete utfördes.

Är det någon som vet vad detta kan bero på, koden till sidan kommer längre ner.

Och om någon vet hur man använder FileUp och sql alltså så att man kan köra en sats som denna:
"INSERT INTO uppload (tabelnamn,
Det gick med AspUpload, men det finns inget ecxempel med i FileUp dokumentationen, i AspIplod så använde man ett ? där filen skulle lägas in.

Koden:

Set Upload = Server.CreateObject("SoftArtisans.FileUp")
Upload.MaxBytes = 8000000

Call OpenRecordSet("SELECT \* FROM uppload WHERE filid = " &filid(0,0))

Upload.form("thefile").SaveAsBlob RecSet.Fields("filen")
RecSet.Fields("filesize") = Upload.TotalBytes
RecSet.Fields("filenamn") = Upload.ShortFilename

RecSet.Update

Call CloseRecordSet

Sub OpenRecordSet(sql)
set RecSet = Server.CreateObject("adodb.recordset")
set RecSetConnection = Server.CreateObject("ADODB.Connection")
RecSetConnection.open "driver={MySQL};server=localhost;uid=xxxx;pwd=xxxxx;database=xxxxxx"
set RecSet = Server.CreateObject("ADODB.Recordset")
RecSet.Open sql, RecSetConnection, 2, 3
End Sub

Sub CloseRecordSet
RecSet.Close
set RecSet = nothing
RecSetConnection.close
set RecSetConnection = nothing
End Sub

Tackar på förhand.

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

## #2 — Jymdis, 2002-12-01T11:48Z

Microsoft OLE DB Provider for SQL Server (0x80040E21)
Multiple-step OLE DB operation generated errors. Check each OLE DB status 
value, if available. No work was done. 

This error is caused when you try to insert too much data into a specified 
field. For example if you enter a string that is 20 characters long into a 
field that is defined as varChar(10), or if you try to insert a value 
greater than 215 (approx 2.1 billion) into an Integer field.

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

## #3 — supreme, 2002-12-01T12:25Z

ok nu har jag fixat så att det funkar med att lägga in sizen på filen, men felet kvarstår på namnet a filen, och filen jag laddar up har ett 11 tecken långt namn och fältet är dimensionerat för 100 tecken, varför blir det då fel?

och när jag försöker köra RecSet.Update nu så får jag detta felet:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
\[Microsoft\]\[ODBC Driver Manager\] Ogiltig längd på sträng eller buffert

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/60804-en-ole-db-åtgärd-i-flera-steg-genererade-fel
