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> |
One form field. Member of FormFields collection.
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 4GB 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 - 2011 Antonin Foller, Motobit Software | About, Contacts | e-mail: info@pstruh.cz