Сохранить бинарный файл в sql - PullRequest
0 голосов
/ 29 июля 2010

Я пытаюсь преобразовать PDF в двоичный файл данных и сохранить его в своей базе данных SQL. Когда я просто выводю pdf (из двоичного файла) пользователю, он отлично работает.

Поле в моей базе данных для двоичных данных - это изображение.

Вот что я делаю в банкомате:

Set oFileStream = Server.CreateObject("ADODB.Stream")
oFileStream.Open
oFileStream.Type = 1 'Binary
oFileStream.LoadFromFile strPDF

И если я сделаю Response.BinaryWrite (oFileStream.Read), PDF-файл появится у пользователя.

Тогда я хочу сохранить его в SQL:

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "xxx"
strSQL = "INSERT INTO vAnalysesHistory (datetime,chosendatetime,companyid,code,content) VALUES (?,?,?,?,?)"
Set cmd = Server.CreateObject("ADODB.Command")
Set cmd.ActiveConnection = Conn
cmd.CommandType = adCmdText
cmd.CommandText = strSQL
cmd.Parameters.Append cmd.CreateParameter("@datetime", adDate, adParamInput, 255, now)
cmd.Parameters.Append cmd.CreateParameter("@chosendatetime", adDate, adParamInput, 255, Request.Form("date"))
cmd.Parameters.Append cmd.CreateParameter("@companyid", adVarChar, adParamInput, 255, Request.Form("companyid"))
cmd.Parameters.Append cmd.CreateParameter("@code", adVarChar, adParamInput, 255, Request.Form("code"))
cmd.Parameters.Append cmd.CreateParameter("@content", adLongVarBinary, adParamInput, 8000, oFileStream.Read)
cmd.Execute()

Conn.close
Set Conn = Nothing

И я просто получаю эту ошибку: Приложение использует значение неправильного типа для текущей операции.

Я пробовал кучу других вещей также с некоторыми другими ошибками.

Ответы [ 2 ]

0 голосов
/ 29 июля 2010

Исходя из сказанного Видаром, см. Раздел «Загрузка файла изображения в базу данных» здесь:

http://www.beansoftware.com/ASP.NET-Tutorials/Save-Read-Image-Database.aspx

0 голосов
/ 29 июля 2010

Сначала прочитайте поток в байт, а затем передайте переменную Byte параметру @content

...