Как записать содержимое файла в таблицу SQL Server?
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



Как записать содержимое файла в таблицу SQL... Expand / Collapse
Автор
Сообщение
09.01.2001 14:33
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 03.03.2006 19:03
Сообщ.: 1 908, Visits: 21 011
Требуется записать файл любого размера в таблицу SQL Server 7.0; подскажите какой тип столбца для этого нужен (подозреваю, что image) и как будет выглядеть код и SQL-оператор. Как взять файл из базы - я знаю, а вот как его туда положить -нет.
Сообщ. #702906
09.01.2001 17:26
Junior Member

Junior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior 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



Сообщ. #702929
09.01.2001 17:47
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme 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)... это не работает.
Сообщ. #702931
10.01.2001 10:26
Junior Member

Junior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior Member

участник
Last Login: 09.04.2001 12:04
Сообщ.: 15, Visits: 166
Привет !
Не мог бы ты уточнить свою задачу.
Что тебе вообще нужно сделать .
с какими файлами ты работаешь ?


DIM
Сообщ. #702953
10.01.2001 10:46
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 03.03.2006 19:03
Сообщ.: 1 908, Visits: 21 011
Просто нужно хранить файлы в БД SQL Server, любые файлы. Файлы не должны закачиваться пользователем, а должны заноситься в базу администратором.
Сообщ. #702954
18.01.2001 21:31
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 18.01.2001 21:28
Сообщ.: 2, Visits: 23
Как-то мне пришлось писать базу для создания мультимедийных дисков. Мне тоже нужно было хранить в базе картинки и html-файлы. Долго искал, в итоге все сделал через утилитку textcopy. Было бы очень интересно, если бы кто-то рассказал как можно хранить в SQL Server картинки.
Сообщ. #703253
19.01.2001 23:52
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
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. Дальше рассказывать не буду - у компонента превосходная документация (не все платные имеют такую :-(( )
Сообщ. #703294
20.01.2001 20:41
Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: 07.04.2002 0:00
Сообщ.: 59, Visits: 650
Есть два классных метода для добавления больших объемов данных в базу
appendchunk() и getchunk()
они принадлежат то ли Recordset'у, то ли Field'у
Сообщ. #703305
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0