Хранение документов Word в базе данных

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Гость

Сообщение Гость »

Привет!

Возможно ли хранение документа MS Word в поле базы данных, чтобы для
редактирования открывать его в Word, а при сохранении записывать обратно
? Если да, то тип поля и средства для таких манипуляций ?

База MS SQL
C5 ШВС

Ищенко Ростислав

(Добавление)

всё возможно, поле в БД - IMAGE, со стороны клиента, C5 BLOB'ы не поддерживает, надо через любой открытый файл на базу получить параметры соединения

PROP:HENV EQUATE (7203H)
PROP:HDBC EQUATE (7204H)

и далее самому через ODBC API используя функции SQLGetData получать данные из поля во временный (.DOC) файл, далее серез ShellExecute его загружать в WinWord, а с помощью SQLPutData сохранять в поле БД.

Andrew Myalin
andrew@arsis.ru
http://mavcla.arsis.ru (MAV Direct ODBC)
ICQ: 10659412
Yahoo group: clarion@yahoogroups.com

Привет!

У нас есть такие же задачи для MS SQL,
мы используем MAV Direct, там реализовано это для Clarion 5 и 5.5 и 6

С уважением, Толмачёв И.Л.
Написал: ClaList(2)
Гость

Сообщение Гость »

А где можно посмотреть на МАВ 5.0, а то я на сайте нашёл только 5.5?

С уважением, Валентин.
Написал: ClaList(2)
SSTA
Бывалый
Сообщения: 52
Зарегистрирован: 03 Февраль 2006, 5:41
Откуда: Хабаровск

Сообщение SSTA »

Anonymous писал(а):...всё возможно, поле в БД - IMAGE, со стороны клиента, C5 BLOB'ы не поддерживает, надо через любой открытый файл на базу получить параметры соединения

PROP:HENV EQUATE (7203H)
PROP:HDBC EQUATE (7204H)

и далее самому через ODBC API используя функции SQLGetData получать данные из поля во временный (.DOC) файл, далее серез ShellExecute его загружать в WinWord, а с помощью SQLPutData сохранять в поле БД....
А для CW 6 так же? Или какие-то шаги уходят? Как будет выглфдеть связка Fil:Blob - Image для 6.1? Если можно, кратенький примерчик.

У меня 6.1, ABC
C уважением, Александр Т.
Аватара пользователя
Andrew™
SQL профи
Сообщения: 651
Зарегистрирован: 05 Июль 2005, 16:32
Откуда: Москва, Зеленоград

Сообщение Andrew™ »

Anonymous писал(а):А где можно посмотреть на МАВ 5.0, а то я на сайте нашёл только 5.5?

С уважением, Валентин.
Написал: ClaList(2)
всё для ознакомления тут же
http://www.clarionlife.net/component/op ... ,/gid,396/

там же в файловом архиве есть примеры, где юзаются BLOBы для храннеия картинок, MS Word документ это по сути тажа картинка - бинарный файл, как сохранить в БД и вытащить там есть, а далее через PROP:Document юзать его в OLE контроле
Аватара пользователя
Andrew™
SQL профи
Сообщения: 651
Зарегистрирован: 05 Июль 2005, 16:32
Откуда: Москва, Зеленоград

Сообщение Andrew™ »

SSTA писал(а):
Anonymous писал(а):...всё возможно, поле в БД - IMAGE, со стороны клиента, C5 BLOB'ы не поддерживает, надо через любой открытый файл на базу получить параметры соединения

PROP:HENV EQUATE (7203H)
PROP:HDBC EQUATE (7204H)

и далее самому через ODBC API используя функции SQLGetData получать данные из поля во временный (.DOC) файл, далее серез ShellExecute его загружать в WinWord, а с помощью SQLPutData сохранять в поле БД....
А для CW 6 так же? Или какие-то шаги уходят? Как будет выглфдеть связка Fil:Blob - Image для 6.1? Если можно, кратенький примерчик.

У меня 6.1, ABC
ODBC API к версии Clarion никак не привязано, краткого примера не получится, надо делать много препарирований - SQLAllocHandle, SQLExecDirect, SQLGetData, SQLPutData...

с точки зрения MAV, когда у нас есть BLOB поле, делается это примерно так:

Код: Выделить всё

file  MAVReadWrite
 CODE
 IF file._Open(WinWordDoc)
   RETURN
 END
 len# = file._Bytes()
 MAVFile.BlobField.Reset(ALL('<0>',len#))
 file._Read(MAVFile.BlobField.S,len#)
 file._Close()

 IF MAVUPDATE(MAVFile)
  MAVSHOEERROR
  RETURN
 END
Ответить