Avatar billede ghost1 Nybegynder
22. december 2004 - 01:37 Der er 6 kommentarer og
1 løsning

aspsmartupload og MS sql2000

Hej
Jeg har et problem med at finde en løsning på hvordan jeg benytter en MS sql2000 til at lagre mine billeder istedet for en access database...

Et ekspempel hentet fra aspsmartupload´s hjemmeside :

  Object creation
'  ***************
  Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")

'  Upload
'  ******
  mySmartUpload.Upload

'  Connect to the DB
'  *****************
  Set oConn = Server.CreateObject("ADODB.Connection")
  curDir = Server.MapPath("\scripts\aspSmartUpload\Sample.mdb")
  oConn.Open "DBQ="& curDir &";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;"

'  Open a recordset
'  ****************
  strSQL = "SELECT FILENAME,FILE FROM TFILES"

  Set oRs = Server.CreateObject("ADODB.recordset")
  Set oRs.ActiveConnection = oConn
  oRs.Source = strSQL
  oRs.LockType = 3
  oRs.Open


Problemet er bare at de ikke giver noget eksempel på hvordan man gør med sqlserver.. håber der er en derude der har svaret..
Avatar billede fennec Nybegynder
22. december 2004 - 08:16 #1
Det er på samme måde. Du skal bare conecte til en MS-SQL database istedet for en Access. Bare udskift disse 2 linjer:

curDir = Server.MapPath("\scripts\aspSmartUpload\Sample.mdb")
oConn.Open "DBQ="& curDir &";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;"

med:
oConn.Open "DRIVER={SQL Server};SERVER=ServerNavnet;UID=brugernavn;pwd=password; DATABASE=DatabaseNavnet;"
Avatar billede ghost1 Nybegynder
22. december 2004 - 12:43 #2
jeg skal lige have det helt til at virke , men så giver jeg også gladeligt de points ud.. problemet er at jeg nu får en anden fejl som er

ADODB.Field (0x800A0C93)
Operation is not allowed in this context.

Jeg vedhæfter også lige koden her:

  Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
  mySmartUpload.Upload

    Set oConn = Server.CreateObject("ADODB.Connection")
    oConn.Open "DRIVER={SQL Server};SERVER=localhost;UID=sa;DATABASE=excelproject;"



   
    strSQL = "SELECT * from upload"

  Set oRs = Server.CreateObject("ADODB.recordset")
  Set oRs.ActiveConnection = oConn
  oRs.Source = strSQL
  oRs.LockType = 3
  oRs.Open

'  Select each file
'  ****************
  For each file In mySmartUpload.Files
  '  Only if the file exist
  '  **********************
      If not file.IsMissing Then

      '  Add the current file in a DB field
      '  **********************************
        oRs.AddNew
        file.FileToField oRs.Fields("filebinary") 'FÅR FEJLEN I DENNE LINIE
        oRs("FILENAME") = file.FileName
        oRs("filesize") = file.size
        oRs.Update
        ' intCount = intCount + 1
      End If
  Next

Jeg har læst mig frem til at det måske er den parameter der hedder AppendChunkder skal tilføjes til denne linie :
file.FileToField oRs.Fields("filebinary").AppendChunk()

men den vil også gerne have en værdi i AppendChunk, men ved ikke hvilken ??

håber du/I kan hjælpe

takker
Avatar billede fennec Nybegynder
22. december 2004 - 13:14 #3
Nu har jeg aldrig gemt filer i databasen, men skal det ikke være:

oRs.Fields("filebinary") = file.FileToField
Avatar billede ghost1 Nybegynder
22. december 2004 - 13:19 #4
ved godt det ser tosset ud, men sådan ser eksemplet også ud på aspsmartupload´s hjemmeside, så kan godt følge dig :(
Men det andet virker heller ikke..
Avatar billede fennec Nybegynder
22. december 2004 - 13:32 #5
Hvilken datatype har filebinary på databasen??
Avatar billede ghost1 Nybegynder
22. december 2004 - 14:04 #6
binary og en størrelse på 500
Avatar billede fennec Nybegynder
22. december 2004 - 14:38 #7
Ja, så ved jeg ikke hvad der skal til.

Som sagt har jeg aldrig gemt filer i databasen, da det er ineffektivt pga databasestørrelsen. Så lige netop det, kan jeg desværre ikke hjælpe med :(
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