|
|
|
Supreme Being
      
участник
Last Login: 03.03.2006 19:03
Сообщ.: 1 908,
Visits: 21 011
|
|
| Требуется записать файл любого размера в таблицу SQL Server 7.0; подскажите какой тип столбца для этого нужен (подозреваю, что image) и как будет выглядеть код и SQL-оператор. Как взять файл из базы - я знаю, а вот как его туда положить -нет.
|
|
|
|
|
Junior Member
      
участник
Last Login: 09.04.2001 12:04
Сообщ.: 15,
Visits: 166
|
|
Привет !
Существуют различные uploader's
например мне нравиться aspSmartUpload
этот компонент можно стащить с www.aspsmart.com
вот а асп код пихания файла с помошью
этого аплоадера будет выглядеть так
<HTML>
<BODY BGCOLOR="white">
<H1>aspSmartUpload : Sample 4</H1>
<HR>
<%
' Variables
' *********
Dim mySmartUpload
Dim file
Dim oConn
Dim oRs
Dim intCount
intCount=0
' 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
' 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("FILE")
oRs("FILENAME") = file.FileName
oRs.Update
intCount = intCount + 1
End If
Next
' Display the number of files uploaded
' ************************************
Response.Write(intCount & " file(s) uploaded.<BR>")
' Destruction
' ***********
oRs.Close
oConn.Close
Set oRs = Nothing
Set oConn = Nothing
%>
</BODY>
</HTML>
вообще этот аплоадер позволяет
пихать в базу данных файлы(в том числе и рисунки)
вытаскивать их из нее и тд и тд
вообще у меня есть эта компонента могу кинуть если что
там хелпа очень хорошая
если есть вопросы пишите на dim@delo.ru
|
|
|
|
|
Supreme Being
      
участник
Last Login: 03.03.2006 19:03
Сообщ.: 1 908,
Visits: 21 011
|
|
Я знаю этот компонент, но дело не в нем. Мне не нужно закачивать файлы пользователей на сервер, мне нужно только занести в базу локальный файл, хотя с помощью ASPSmartUpload конечно можно было ы все это организовать, но мне бы не хотелось лишний раз различные компоненты использовать. Вот что-то типа:
'===============================
Dim a, fs, pth, fname, BinArray
set con=server.createobject("ADODB.Connection")
con.open "dsn","user"
'Получение двоичного файла (просто readAll не годится)
fname = cstr(request("file"))
pth = Server.MapPath("\") & "\"
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.OpenTextFile(pth & fname, 1, 0)
Do while not a.AtEndOfStream
BinArray = BinArray & chrB(asc(a.Read(1)))
Loop
a.Close
'SQL запрос
con.execute("insert into tab_1 (file_url,file_content) value ('"&pth & fname&"',"&?????????&")")
set con=nothing
'=========================
Вот не знаю, что вместо вопросиков писать; что-то типа convert(binary,BinArray)... это не работает.
|
|
|
|
|
Junior Member
      
участник
Last Login: 09.04.2001 12:04
Сообщ.: 15,
Visits: 166
|
|
Привет !
Не мог бы ты уточнить свою задачу.
Что тебе вообще нужно сделать .
с какими файлами ты работаешь ?
DIM
|
|
|
|
|
Supreme Being
      
участник
Last Login: 03.03.2006 19:03
Сообщ.: 1 908,
Visits: 21 011
|
|
| Просто нужно хранить файлы в БД SQL Server, любые файлы. Файлы не должны закачиваться пользователем, а должны заноситься в базу администратором.
|
|
|
|
|
новичок
      
участник
Last Login: 18.01.2001 21:28
Сообщ.: 2,
Visits: 23
|
|
| Как-то мне пришлось писать базу для создания мультимедийных дисков. Мне тоже нужно было хранить в базе картинки и html-файлы. Долго искал, в итоге все сделал через утилитку textcopy. Было бы очень интересно, если бы кто-то рассказал как можно хранить в SQL Server картинки.
|
|
|
|
|
новичок
      
участник
Last Login: 19.01.2001 23:52
Сообщ.: 1,
Visits: 12
|
|
Я использую SAFileManager от Software Artisans - http://www.SoftArtisans.com
Он бесплатный и имеет много полезностей, и в их числе метод ExportToBlob. С помощью этого метода можно экспортировать содержимое любого файла в рекордсет, потом сделать апдейт рекордсету и...
готово - как раз то что тебе нужно. Я с помощью этого компонента и Microsoft Posting Acceptor'а
успешно загружаю картинки от пользователя в базу данных MS SQL 7.0. Дальше рассказывать не буду - у компонента превосходная документация (не все платные имеют такую :-(( )
|
|
|
|
|
Forum Guru
      
участник
Last Login: 07.04.2002 0:00
Сообщ.: 59,
Visits: 650
|
|
Есть два классных метода для добавления больших объемов данных в базу
appendchunk() и getchunk()
они принадлежат то ли Recordset'у, то ли Field'у
|
|
|
|