|
|
|
Вставка файлов в OLE поля MS Access средствами Java
|
|||
|---|---|---|---|
|
#18+
Добрый вечер. Столкнулся с проблемой следующего плана. При попытке вставить объект (.jpg или .xls файл) в "Поле объекта OLE" средствами Java (будь-то связка JDBC+BLOB или библиотека Jackcess) в таблице БД появляется надпись "Двоичные данные", а при клике на нее выдается ошибка: Возникла ошибка при установлении связи в приложении "Microsoft Office Access" с сервером OLE или элементом управления Activex. Закройте сервер OLE и перезапустите его вне приложения "Microsoft Office Access". Затем снова попробуйте исходную операцию в приложении "Microsoft Office Access". Необходимо чтобы по клику файлы открывались в соответствующих им программах. Помогите советом (код выложу, расскажу что делал очень подробно, если это необходимо). Уже неделю борюсь, кажется все перепробовал\\перегуглил. P.S. С разрешения Программиста-Любителя дублирую тему открытую в разделе MS Access (/topic/952467&pg=-1), в которой немного больше подробностей о моей проблеме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2012, 21:41:00 |
|
||
|
Вставка файлов в OLE поля MS Access средствами Java
|
|||
|---|---|---|---|
|
#18+
safety1990, Там свои заголовки. если есть пиши в обычное бинарное поле ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 07:49:23 |
|
||
|
Вставка файлов в OLE поля MS Access средствами Java
|
|||
|---|---|---|---|
|
#18+
Petro123, Да, заголовки там и вправду свои, но вся проблема в том, что я не нашел ничего путного об OLE-заголовках. Можете пояснить что такое обычное бинарное поле? Правильно ли я понял, что вы хотите представить файлы в виде массива байтов и напрямую записывать их в "Поле объекта OLE"? Примерно так же я и делаю: Код: java 1. 2. 3. 4. 5. 6. Все компилируется без ошибок, но если открыть БД и посмотреть таблицу, то там в соответствующем поле надпись "Двоичные данные" (как я уже говорил) и просмотреть их не получается. Возможно ли сделать как-то по-другому? Буду признателен хорошему совету, т.к. вожусь с этим уже больше недели. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 10:53:58 |
|
||
|
Вставка файлов в OLE поля MS Access средствами Java
|
|||
|---|---|---|---|
|
#18+
safety1990, да. Обычно (Delphi) ЯП уже предоставляет компоненты-библиотеки для работы с этими заголовками. 2. Обычное блоб поле, в СУБД которое байт в байт записывает и не меняет содержимое. Я уже давно не работаю в Access. Есть там такой тип? "Открыть БД и посмотреть" чем? В чём? Зачем? Java пишет, а форма на Access/e что ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 11:00:53 |
|
||
|
Вставка файлов в OLE поля MS Access средствами Java
|
|||
|---|---|---|---|
|
#18+
Petro123, На сколько я понял для работы с файлами в Access есть только два типа: либо гиперсылка, либо OLE-поле. Открывать БД необходимо собственно при помощи MS Access поскольку клиент знаком с ним и сам собирается создавать формы. Моя задача - парсить данные и записывать их в его БД. Поэтому написать какой-нибудь GUI на Java и использовать другую СУБД будет лишним (хотя с каждым днем гугления проблемы я все больше хочу это сделать, хотя бы для того, чтобы все работало). То есть как вывод: надо чтобы файлы, которые я помещаю в БД (именно MS Access), читались самим Access'ом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 11:26:07 |
|
||
|
Вставка файлов в OLE поля MS Access средствами Java
|
|||
|---|---|---|---|
|
#18+
safety1990, тяжёлый случай. Варианты: - запомнить заголовки побайтово и дописать на Jave самому (геморрой) - писать на Java но через OLE интерфейс самого Accessa. Например, как при работе с Word\Acad\IE\... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 11:33:37 |
|
||
|
Вставка файлов в OLE поля MS Access средствами Java
|
|||
|---|---|---|---|
|
#18+
Petro123, 1) Действительно очень геморройное занятие получится. Я плохо представляю себе подобное, хотя и представляю. 2) Час гугления дал мне не очень радостный результат. OLE интерфейсы есть для всего: Word, Excel, Power Point, даже Outlook ( http://poi.apache.org/). Но c Access ничего дельного не нашлось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 12:36:50 |
|
||
|
Вставка файлов в OLE поля MS Access средствами Java
|
|||
|---|---|---|---|
|
#18+
safety1990, сделай отд. тему по POI. Там наверняка нужно ГУИД указать. И на любой OLE Server приконнектиться. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 13:35:58 |
|
||
|
Вставка файлов в OLE поля MS Access средствами Java
|
|||
|---|---|---|---|
|
#18+
safety1990, Вы располагаете только MDB файлом и обрабатываете его в Linux или же всё-таки Windows и в наличии имеется сам MS Access? Раз речь идёт об OLE, то скорее всего второе. Напишите скрипт на VBS в котором будет производится загрузка в Access из внешнего файла. На Java сохраните нужные данные в файл и вызовите VBS скрипт с указанием этого файла в качестве параметра. В крайнем случае можно сделать имя файла и константой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2012, 08:48:38 |
|
||
|
Вставка файлов в OLE поля MS Access средствами Java
|
|||
|---|---|---|---|
|
#18+
Garrick, +1 т.е. по факту Java будет просто запускалкой логики на любом ЯП (VBS \ Delphi \ ....). Для отвода глаз, т.к. задача не для Java в общем случае. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2012, 09:53:16 |
|
||
|
Вставка файлов в OLE поля MS Access средствами Java
|
|||
|---|---|---|---|
|
#18+
Garrick, Да, обрабатываю в Windows, Access в наличии. На счет загрузки из внешнего файла хотелось бы уточнить. Вы сказали, что при помощи Java я сохраню нужные данные в файл, а средствами VB его открою, так? Чем это будет отличаться от менее накладного (для меня, т.к. VB не знаю) варианта: сделать поле "гиперссылка" и просто ссылаться на этот файл? Спасибо за ответы, сильно выручаете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2012, 12:19:09 |
|
||
|
Вставка файлов в OLE поля MS Access средствами Java
|
|||
|---|---|---|---|
|
#18+
safety1990, гиперссылка на что? с:\Мои документы\Мой.doc? - это вам надо с начальством решать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2012, 12:31:21 |
|
||
|
Вставка файлов в OLE поля MS Access средствами Java
|
|||
|---|---|---|---|
|
#18+
Petro123, Ну есть же относительные пути в Access. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2012, 12:56:49 |
|
||
|
Вставка файлов в OLE поля MS Access средствами Java
|
|||
|---|---|---|---|
|
#18+
safety1990Petro123, Ну есть же относительные пути в Access. относительно чего относительные? - всё равно с шефом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2012, 14:04:19 |
|
||
|
Вставка файлов в OLE поля MS Access средствами Java
|
|||
|---|---|---|---|
|
#18+
safety1990, А зачем вообще Java? Почему не сделать всё в Access? Там же есть замечательный VBA. Или C#/VB.Net, старый добрый VB6. Возможные варианты: 1. Всё делается в Access - лего и просто имеем один MDB файл со всем необходимым внутри. 2. Если очень нужна Java и оченm нужен Access, то в Java вместо Access используем базу MS SQL Express, есть же JDBC для MS SQL, и в Access вместо MDB используем ту же базу - он умеет. Необходимость использования Java вижу только если надо это интегрировать с каким-то уже работающим Java приложением. В данном случае целесообразно рассмотреть вопрос о замене Access на что-то более совместимое с Java. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2012, 14:12:39 |
|
||
|
|

start [/forum/topic.php?fid=59&tid=2131429]: |
0ms |
get settings: |
16ms |
get forum list: |
18ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
41ms |
get topic data: |
19ms |
get forum data: |
4ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 287ms |
| total: | 453ms |

| 0 / 0 |
