Just nu i M3-nätverket
Jump to content

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


supreme

Recommended Posts

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.

 

[inlägget ändrat 2002-12-01 12:44:56 av supreme]

Link to comment
Share on other sites

Jimmie Pettersson

Är det så smart att spara filerna i databasen? Jag har för mig att det kan sega ned. Jag vet inte. Jag lägger mina filer i en folder och lägger sedan länken i databasen. Blir nog inte lika hög belastning då.

 

MVH Jimmie Pettersson

 

Link to comment
Share on other sites

Jimmie Pettersson

Kan dessa länkar vara till hjälp kanske?

 

http://support.softartisans.com/docs/FileUp/setupdb.htm

http://support.softartisans.com/docs/FileUpV4/prog_g_transactdatabase.htm

 

<%
On Error Resume Next
set rsBlob = Server.CreateObject("adodb.recordset")
'Open Recorsets
rsBlob.Open "IntermediateBlobTable", "AccessUpload", 2, 3
'--- 
'--- For SQL Server Users, use the following line to open the recordset
'--- Make sure you replace:
'---	<myserver> by your SQL Server name
'---
'--- rsBlob.Open "IntermediateBlobTable", "driver={SQL Server};server=<myserver>;uid=sa;pwd=;database=SQLServerUpload", 2, 3

'Add new record and update
rsBlob.AddNew
rsBlob.Fields("author")  = upl.form("AUTHOR")
rsBlob.Fields("descrip") = upl.form("DESCRIP")
upl.form("FILE1").SaveAsBlob rsBlob.Fields("filecol")


rsBlob.Update
rsBlob.Close
Set rsBlob = Nothing

if Err <> 0 Then 
'---Abort upload if there are any errors
ObjectContext.SetAbort
%>
....
<% End If 
End If 
%>

MVH Jimmie Pettersson

 

[inlägget ändrat 2002-12-01 20:02:29 av Jimmie Pettersson]

Link to comment
Share on other sites

Att de ska ägas i en databas beror på att filerna inste ska vara tillgängliga merän för en del av medlemarna, alltså ska inte en användare som har rättighter kunna se var den finns, ör då kan ju de andra bara få adressen av honom.

 

Denna sidan hjälper tyvär mig inte, men tackar ändå.

 

Link to comment
Share on other sites

Hej!

 

RecSet.Fields("filesize")

 

Vad har du för datatyp i databasen? Den säkert för liten.

Det är nog bättre om du konverterar till KB alternativt MB innan, beroende på filstorlek, eftersom du väl ändå presenterar storleken i något av dessa värden?

 

/foo

 

[inlägget ändrat 2002-12-02 10:55:33 av foo]

Link to comment
Share on other sites

den liggersom en bigint, och du har antagligen rätt att man kan göra om det till Mb, men den filen jag testat med är bara på 80k så det är nog inte det som är fel.

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...