powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Как получить файл из базы на локальный компьютер?
19 сообщений из 19, страница 1 из 1
Как получить файл из базы на локальный компьютер?
    #36605130
SPMASK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ASA сервер (9.02)
- создается таблица
CREATE TABLE CLIENTFILES (ID INT DEFAULT AUTOINCREMENT PRIMARY KEY, filename VARCHAR(254), files LONG BINARY);
- в таблицу загружаются файлы
INSERT INTO CLIENTFILES (filename, files) VALUES ('file.exe', xp_read_file( 'C:\file.exe' ) );
...

Вопрос в том, чтобы сетевому клиенту, работающему с сетевой базой, получить эти файлы локально?
на клиенте в ODBC прописан драйвер ASA9 с прописанным доступом к базе.
функция SELECT xp_write_file('C:\'+filename, files) FROM CLIENTFILES; - возвращает файлы
на сервер... а нужно получить их на удаленной машине/ах.
Подскажите как? Можно ли сделать без использования шары, функциями ASA или ODBC?
...
Рейтинг: 0 / 0
Как получить файл из базы на локальный компьютер?
    #36605836
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конечно можно.
Запускаешь на поле с блобом SQLGetData несколько раз и все. На первый запуск оно вернет код SQL_SUCCESS_WITH_INFO и SQLSTATE 01004. Продолжаешь дергать SQLGetData до тех пор пока оно не завершится с SQL_SUCCESS.
...
Рейтинг: 0 / 0
Как получить файл из базы на локальный компьютер?
    #36605851
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Функциями ASA тоже можно. Смотри команду GET DATA, у нее есть обязательный параметр OFFSET.
...
Рейтинг: 0 / 0
Как получить файл из базы на локальный компьютер?
    #36607723
SPMASK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White OwlФункциями ASA тоже можно. Смотри команду GET DATA, у нее есть обязательный параметр OFFSET.
К сожалению ASA 9.02 не поддерживает данную функцию.
Но я похоже нашел решение... - всё же пришлось работать с расшаренной папкой...
...
Рейтинг: 0 / 0
Как получить файл из базы на локальный компьютер?
    #36607747
Sergey Orlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть весьма экзотичный способ, а именно через dbisql, т.е. через запуск dbisql с передачей ему соответсвующего скрипта, там путь будет относительно самого dbisql, т.е. локольно...
...
Рейтинг: 0 / 0
Как получить файл из базы на локальный компьютер?
    #36607927
antand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я что-то не пойму проблемы
У автора есть сетевой клиент, который запущен локально
Которого наверно можно запрограммировать.
1) сделать запрос select ....
2) Создать файл на локальном компе с нужным именем filename
3) записать туда данные из поля files запроса
4) закрыть файл
Это можно простым скриптом сделать типа WScript, не говоря уже о Delphi и т.п.

Или речь идет о том, чтобы только утилитами типа dbisql и т.п.?
...
Рейтинг: 0 / 0
Как получить файл из базы на локальный компьютер?
    #36608026
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SPMASKWhite OwlФункциями ASA тоже можно. Смотри команду GET DATA, у нее есть обязательный параметр OFFSET.
К сожалению ASA 9.02 не поддерживает данную функцию.
Но я похоже нашел решение... - всё же пришлось работать с расшаренной папкой...Почему не поддерживает? Ее даже шестерка поддерживала. Плохо ищешь.
Это команда ESQL для собственного интерефейса ASA.
...
Рейтинг: 0 / 0
Как получить файл из базы на локальный компьютер?
    #36613508
SPMASK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey OrlovЕсть весьма экзотичный способ, а именно через dbisql, т.е. через запуск dbisql с передачей ему соответсвующего скрипта, там путь будет относительно самого dbisql, т.е. локольно...
Попробую, если dbicql - работает с путями локальной машины...
Я то, использовал dbisqlc...
...
Рейтинг: 0 / 0
Как получить файл из базы на локальный компьютер?
    #36613540
SPMASK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
antandЯ что-то не пойму проблемы
Или речь идет о том, чтобы только утилитами типа dbisql и т.п.?

Именно этими средствами... на клиентах стоит ПО и попутно драйвер ASA9 с настроенной связкой через ODBC с подключением к базе. Также на клиенте есть утилита dbisqlc...

Задача "вытягивать" из сетевой базы - файлы из таблицы (BLOB) на лок. комп.

Я пока сделал вызовом процедуры, выкладывание файлов в шару на сервере, затем sql-командой с параметрами шары (путь так же в базе храню) создаю BAT-ник, он же затем стартует и от имени локального компа тянет файлы из шары в указанную локальную папку.
...
Рейтинг: 0 / 0
Как получить файл из базы на локальный компьютер?
    #36614693
SPMASK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SPMASKSergey OrlovЕсть весьма экзотичный способ, а именно через dbisql, т.е. через запуск dbisql с передачей ему соответсвующего скрипта, там путь будет относительно самого dbisql, т.е. локольно...
Попробую, если dbicql - работает с путями локальной машины...
Я то, использовал dbisqlc...

Жаль, но (dbisql, dbisqlc, dbisqlg) выгружают именно на сервере баз данных.
использую селект:
select xp_write_file('C:\'+filename,files) from TABLE;

:(
...
Рейтинг: 0 / 0
Как получить файл из базы на локальный компьютер?
    #36615038
Sergey Orlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SPMASKSPMASKSergey OrlovЕсть весьма экзотичный способ, а именно через dbisql, т.е. через запуск dbisql с передачей ему соответсвующего скрипта, там путь будет относительно самого dbisql, т.е. локольно...
Попробую, если dbicql - работает с путями локальной машины...
Я то, использовал dbisqlc...

Жаль, но (dbisql, dbisqlc, dbisqlg) выгружают именно на сервере баз данных.
использую селект:
select xp_write_file('C:\'+filename,files) from TABLE;

:(
Да действительно не получается, я правда думал про
select <bin поле > from table where ...;
output to 'имя файла' format ascii;
тогда да, действительно только через шары клиента или сервера...
...
Рейтинг: 0 / 0
Как получить файл из базы на локальный компьютер?
    #36615702
antand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SPMASKantandЯ что-то не пойму проблемы
Или речь идет о том, чтобы только утилитами типа dbisql и т.п.?

Именно этими средствами... на клиентах стоит ПО и попутно драйвер ASA9 с настроенной связкой через ODBC с подключением к базе. Также на клиенте есть утилита dbisqlc...

Задача "вытягивать" из сетевой базы - файлы из таблицы (BLOB) на лок. комп.

Я пока сделал вызовом процедуры, выкладывание файлов в шару на сервере, затем sql-командой с параметрами шары (путь так же в базе храню) создаю BAT-ник, он же затем стартует и от имени локального компа тянет файлы из шары в указанную локальную папку.

Ведь вроде можно все скриптом н-р WScript сделать через ADO-ODBС подключение.
Не надо никаких шар, dbisqlc и т.п.
Нужен только установленный драйвер ODBС ASA 9
...
Рейтинг: 0 / 0
Как получить файл из базы на локальный компьютер?
    #36616856
SPMASK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
antandSPMASKantandЯ что-то не пойму проблемы
Или речь идет о том, чтобы только утилитами типа dbisql и т.п.?
Именно этими средствами... на клиентах стоит ПО и попутно драйвер ASA9 с настроенной связкой через ODBC с подключением к базе. Также на клиенте есть утилита dbisqlc...
Задача "вытягивать" из сетевой базы - файлы из таблицы (BLOB) на лок. комп.
Я пока сделал вызовом процедуры, выкладывание файлов в шару на сервере, затем sql-командой с параметрами шары (путь так же в базе храню) создаю BAT-ник, он же затем стартует и от имени локального компа тянет файлы из шары в указанную локальную папку.
Ведь вроде можно все скриптом н-р WScript сделать через ADO-ODBС подключение.
Не надо никаких шар, dbisqlc и т.п.
Нужен только установленный драйвер ODBС ASA 9
Я бы с удовольствием всё упростил, но не силён в данных технологиях...
Если бы кто подсказал, как через уже настроенный доступ через ODBC из таблицы с сохранёнными файлами в поле с типом BLOB - вытащить их локально опять же в виде файлов???
...
Рейтинг: 0 / 0
Как получить файл из базы на локальный компьютер?
    #36617051
antand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SPMASK,

Для начала посмотрите
SQL Anywhere Server - Programming » SQL Anywhere Data Access APIs » SQL Anywhere OLE DB and ADO APIs
А потом посмотрите WScript, в инете куча примеров и документации, в том числе по работе с базами.

Данными технологиями очень неплохо владеть, т.к. они позволяют просто, эффективно, без лишних затрат и ПО очень многие несложные задачи автоматизации решать подобных вашей. (административные, обработки данных и т.п.). Там где интерфейс пользователя особо не нужен.
Сейчас еще и PowerShell есть.
...
Рейтинг: 0 / 0
Как получить файл из базы на локальный компьютер?
    #36634319
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот и я столкнулся с тем что необходимо вытаскивать файлы из ASA 11 и ничего не получается...
конекчусь к ASA из 9-го фокса...
помогииииииите плиз...
...
Рейтинг: 0 / 0
Как получить файл из базы на локальный компьютер?
    #36635046
iLLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никак не вникаю в чем сложности.
Подключаемся клиентом, делаем выборку блоба, получаем данные, сливаем в файл... Проблему нужно формулировать четче.
...
Рейтинг: 0 / 0
Как получить файл из базы на локальный компьютер?
    #36726292
SPMASK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Решил вопрос!
Еще одним способом... (без использования "шары")
- настроена связка в ODBC - которая при обращении поднимает пустую базу, в которой прописан "Remote server" (коннект к сетевой базе) и на нём нужная мне таблица с файлами (blob) - как PROXY TABLE
- а уже по ней локально - xp_write_file('%CD%'+filename,files) from EDELFILES
...
Рейтинг: 0 / 0
Как получить файл из базы на локальный компьютер?
    #36726304
SPMASK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iLLerНикак не вникаю в чем сложности.
Подключаемся клиентом, делаем выборку блоба, получаем данные, сливаем в файл... Проблему нужно формулировать четче.
Проблема чётко сформулирована в заголовке...
База удалённая, а все локальные sql-запросы по выборке файлов - исполняются на удалённом сервере.
...
Рейтинг: 0 / 0
Как получить файл из базы на локальный компьютер?
    #36726456
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И это все для того чтобы не писать нормального клиента...
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Как получить файл из базы на локальный компьютер?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]