|
Запись картинок не в 1с базу данных | ☑ | ||
---|---|---|---|---|
0
kolts23381
29.08.15
✎
21:56
|
Хочу записать картинки в базу данных постре.
Пытаюсь так "INSERT INTO images( | image) |VALUES(" + Данные.Хранилище.Получить() + ")"; В отладчике вместо двоичных данных просто слово "картинка". Тип данных колонки image bytea. Но ничего не записывается. Получать картинки с другой базы данных и записать их в 1с могу, используя ADODB.Stream, а как записать в стороннюю базу не знаю |
|||
1
Стальная Крыса
30.08.15
✎
05:31
|
А байтики в текст кто переводить будет?
|
|||
2
Стальная Крыса
30.08.15
✎
05:33
|
В одном месте значит ADODB.Stream, а тут почему не так?
|
|||
3
kolts23381
30.08.15
✎
12:39
|
image = Новый COMОбъект("ADODB.Stream");
image.type = 1; image.Open(); image.LoadFromFile("C:\database\1.jpg"); RecordSet = Новый COMОбъект("ADODB.Recordset"); RecordSet.CursorLocation = 3; RecordSet.ActiveConnection = Connection; RecordSet.Open("Select * FROM images",Connection,2,3); RecordSet.AddNew(); RecordSet.Fields("image").Value = image.Read(); Recordset.Fields("product").Value = Данные.Объект.УникальныйИдентификатор(); RecordSet.Update(); RecordSet.Close(); Сейчас пробую так. Картинку пишет, правда пока не проверил правильно ли.Не хочет писать уникальный идентификатор, он имеет такой вид 'cbcf493f-55bc-11d9-848a-00112f43529a'. Через ADODB.Connection пишет без проблем. |
|||
4
kolts23381
30.08.15
✎
12:50
|
И картинка тоже не хочет. Тип данных может не нравится, bytea стоит.
|
|||
5
jsmith82
30.08.15
✎
12:56
|
Данные.Хранилище.Получить() это и есть картинго
а если сначала в файл, а потом в двоичные данные |
|||
6
kolts23381
30.08.15
✎
14:45
|
Нашел на этот сайте такой способ
image = Новый COMОбъект("ADODB.Stream"); image.Type = 1; image.Mode = 3; image.Open(); image.LoadFromFile("C:\database\1.jpg"); Команда = Новый COMОбъект("ADODB.Command"); Команда.ActiveConnection = Connection; Команда.NamedParameters = True; Команда.CommandType = 1; Команда.CommandText = "INSERT INTO images (image,product) VALUES(?,'"+ Данные.Объект.УникальныйИдентификатор() +"')"; ПараметрSQL=Команда.CreateParameter("@Pic", 205, 1,10000,image.Read()); image.Close(); Команда.Parameters.Append(ПараметрSQL); Команда.Execute(); Выбивает ошибку: Ошибка при записи изменений при обмене: Ошибка при вызове метода контекста (CreateParameter): Произошла исключительная ситуация (ADODB.Command): Приложение использует для текущей операции значение неверного типа. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |