Upload - large files to MS SQL Server using a HexString property and UPDATETEXT SQL statement

ActiveX/VBSScript registry editor  ActiveX NT User account manager  Export MDB/DBF from ASP
Url replacer, IIS url rewrite Active LogFile  Email export  ActiveX/ASP Scripting Dictionary object
 IISTracer, real-time IIS monitor
 Huge ASP upload - upload files with progress.
          Sample for ScriptUtils.FormField.HexString 

Examples

Upload - large files to MS SQL Server using a HexString property and UPDATETEXT SQL statement 
<%
'Sample file db-HexStringChunk.asp 
'Upload to MS SQL database, store file using HexString method and UPDATETEXT command
'Suitable for upload of big files (up to 2GB) 
'   and MS SQL databse (MS SQL 6.5 - MS SQL 2000)
'see article 'To database, or not to database?' in HugeASP upload help

Server.ScriptTimeout = 36000

'Upload large files to MS SQL Server using HexString
Dim d: D="" & time: d=Replace(d,":","")

Dim Form: Set Form = Server.CreateObject("ScriptUtils.ASPForm")

'was the Form successfully received?
If Form.State = 0 Then
  Dim Conn, SQL, RS, UploadID
  'Open connection to database
  Set Conn = GetConnection 

	'Create insert statement with empty Data field
  SQL = "SET NOCOUNT ON Insert into Upload(UploadDT, ContentType, SouceFileName, Title, [Description], Data) values("
  SQL = SQL & "GetDate()"
  SQL = SQL & ", '" & Form("DBFile").ContentType & "'"
  SQL = SQL & ",  '" & Form("DBFile").FileName & "'"
  SQL = SQL & ",  '" & Form("Title") & "'"
  SQL = SQL & ",  '" & Form("Description") & "'"
  SQL = SQL & ",0x)" & vbCrLf
  SQL = SQL & "Select @@IDENTITY as UploadID"
  

  Set RS = Conn.Execute(SQL)
    UploadID = RS("UploadID")
  RS.Close


  'Set block size to 1MB
  Const BlockSize = &H100000

  'Process source data using blocks
  Dim BlockCounter, HexDataBlock
  For BlockCounter = 0 To Form("DBFile").Length Step BlockSize

    'Get a part of source data as a Hex string
    HexDataBlock = Form("DBFile").HexString(BlockCounter, BlockSize)

    'Add a part of source data to the field
    SQL = "DECLARE @dataptr binary(16)" & vbCrLf
    SQL = SQL & "SELECT @dataptr = TEXTPTR(Data)"
    SQL = SQL & " FROM Upload WHERE UploadID=" & UploadID & vbCrLf
    SQL = SQL & "UPDATETEXT Upload.Data @dataptr " & BlockCounter & " NULL 0x" & HexDataBlock
    Conn.Execute SQL
  Next 'BlockCounter 
  '

  Conn.Close
End If'Form.State = 0 then

Function GetConnection1()
  Dim Conn: Set Conn = CreateObject("ADODB.Connection")
  Conn.Provider = "Microsoft.Jet.OLEDB.4.0"
  Conn.Open "Data Source=D:\Temp\upload.mdb"
  Conn.CommandTimeout = 1800
  'Conn.Open "Data Source=" & Server.MapPath("upload.mdb") 
	Set GetConnection = Conn
End Function

Function GetConnection()
  Dim Conn: Set Conn = CreateObject("ADODB.Connection")
  Conn.Provider = "SQLOLEDB"
  Conn.Open "Data Source=(local);Database=Upload", "sa", ""
  'Conn.Open "Data Source=" & Server.MapPath("upload.mdb") 
	Set GetConnection = Conn
End Function

Function CreateUploadTable(Conn)
  'This function creates upload table for MSSQL 6.5/7.0
  Dim SQL
  SQL = SQL & "CREATE TABLE Upload ("
  SQL = SQL & "	UploadID int IDENTITY (1, 1) NOT NULL ,"
  SQL = SQL & "	UploadDT datetime NULL ,"
  SQL = SQL & "	RemoteIP char (15) NULL ,"
  SQL = SQL & "	ContentType char (64) NULL ,"
  SQL = SQL & "	SouceFileName varchar (255) NULL ,"
  SQL = SQL & "	Title varchar (255) NULL ,"
  SQL = SQL & "	Description text NULL ,"
  SQL = SQL & "	Data image NULL "
  SQL = SQL & ")"
  Conn.Execute SQL
End Function

%>  
<br>Upload To MS SQL database, store file using HexString method And UPDATETEXT command
<br>sample For <A Href=http://www.motobit.com>HugeASP upload</A>
<br>Suitable For upload of big files (up To 2GB) And MS SQL databse (MS SQL 6.5 - MS SQL 2000)
<br>see article 'To database, or not to database?' in HugeASP upload help

<Table><form method=post ENCTYPE="multipart/form-data">
<TR>
 <TD></TD>
 <TD Align=Right><input type="submit" Name="Action" value="Upload the file >>"></TD>
</TR>
<TR>
 <TD>File To upload</TD>
 <TD><input type="file" name="DBFile"></TD>
</TR>
<TR>
 <TD>Title</TD>
 <TD><input size="60" name="Title" value="Title of the file."></TD>
</TR>
<TR>
 <TD>Description</TD>
 <TD><textarea cols="60" rows="8" name="Description">Type description of the file.</textarea></TD>
</TR>

</form></Table>
  Other links for Upload - large files to MS SQL Server using a HexString property and UPDATETEXT SQL statement

ScriptUtils.FormField

One form field. Member of FormFields collection.

ScriptUtils

     Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 2GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance.

     The software has also a free version of asp upload with progress, called Pure asp upload, written in plain VBS, without components (so you do not need to install anything on server).

     This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files, works with binary data, you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.


© 1996 – 2008 Antonin Foller, Motobit Software, help{at}pstruh.cz, help v. 2.20.24