Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Перевести картинку из бинарного вида (SQL Server) и сохранить в файл средствами VBA  [new]
dmitriy_po
Member

Откуда:
Сообщений: 58
Добрый день,
пытаюсь достать картинку из бинарного вида в SQL Server (база данных 1С 8.3) и сохранить в файл средствами VBA (Excel). Файл с картинкой создается, но, к сожалению, он не открывается ("... файл поврежден или слишком велик..." - размер файла вполне адекватен). Исходный код прилагаю ниже.

Sub OpenADODB()
    Set cn = New ADODB.Connection
    cn.ConnectionString = "Provider=SQLOLEDB;Data Source=MVOLITTLE;" & _
                  "Initial Catalog=LittleHouseView;" & _
                  "User ID=логин;Password=пароль;"
    cn.Open
End Sub

Sub LoadPictureFromDB()
    Dim strStream As New ADODB.Stream
    Dim rs As ADODB.Recordset
    
    Call OpenADODB
    Set rs = New ADODB.Recordset
    
    With rs
        .ActiveConnection = cn
        .Open "select * from [dbo].[сКартинки] К where К.артикул = '48435';"
    End With
    
    Set strStream = New ADODB.Stream
    strStream.Type = adTypeBinary
    strStream.Open
    
    strStream.Write rs.Fields("Поле с картинкой").Value
    strStream.SaveToFile "C:\Temp\Temp.jpg", adSaveCreateOverWrite

End Sub
21 ноя 16, 12:40    [19915551]     Ответить | Цитировать Сообщить модератору
 Re: Перевести картинку из бинарного вида (SQL Server) и сохранить в файл средствами VBA  [new]
aleks2
Guest
1. А оно точно JPG?
2. Поле точно "просто binary", а не OLE-контейнер?

ЗЫ. Запихните тестовую картинку в поле средствами 1C.
Вытащите своим кодом и сравните.
21 ноя 16, 13:28    [19915811]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить