|
Как получить файл из базы на локальный компьютер?
|
|||
---|---|---|---|
#18+
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? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2010, 13:28 |
|
Как получить файл из базы на локальный компьютер?
|
|||
---|---|---|---|
#18+
Конечно можно. Запускаешь на поле с блобом SQLGetData несколько раз и все. На первый запуск оно вернет код SQL_SUCCESS_WITH_INFO и SQLSTATE 01004. Продолжаешь дергать SQLGetData до тех пор пока оно не завершится с SQL_SUCCESS. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2010, 17:35 |
|
Как получить файл из базы на локальный компьютер?
|
|||
---|---|---|---|
#18+
Функциями ASA тоже можно. Смотри команду GET DATA, у нее есть обязательный параметр OFFSET. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2010, 17:38 |
|
Как получить файл из базы на локальный компьютер?
|
|||
---|---|---|---|
#18+
White OwlФункциями ASA тоже можно. Смотри команду GET DATA, у нее есть обязательный параметр OFFSET. К сожалению ASA 9.02 не поддерживает данную функцию. Но я похоже нашел решение... - всё же пришлось работать с расшаренной папкой... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2010, 15:31 |
|
Как получить файл из базы на локальный компьютер?
|
|||
---|---|---|---|
#18+
Есть весьма экзотичный способ, а именно через dbisql, т.е. через запуск dbisql с передачей ему соответсвующего скрипта, там путь будет относительно самого dbisql, т.е. локольно... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2010, 15:41 |
|
Как получить файл из базы на локальный компьютер?
|
|||
---|---|---|---|
#18+
Я что-то не пойму проблемы У автора есть сетевой клиент, который запущен локально Которого наверно можно запрограммировать. 1) сделать запрос select .... 2) Создать файл на локальном компе с нужным именем filename 3) записать туда данные из поля files запроса 4) закрыть файл Это можно простым скриптом сделать типа WScript, не говоря уже о Delphi и т.п. Или речь идет о том, чтобы только утилитами типа dbisql и т.п.? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2010, 16:57 |
|
Как получить файл из базы на локальный компьютер?
|
|||
---|---|---|---|
#18+
SPMASKWhite OwlФункциями ASA тоже можно. Смотри команду GET DATA, у нее есть обязательный параметр OFFSET. К сожалению ASA 9.02 не поддерживает данную функцию. Но я похоже нашел решение... - всё же пришлось работать с расшаренной папкой...Почему не поддерживает? Ее даже шестерка поддерживала. Плохо ищешь. Это команда ESQL для собственного интерефейса ASA. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2010, 18:20 |
|
Как получить файл из базы на локальный компьютер?
|
|||
---|---|---|---|
#18+
Sergey OrlovЕсть весьма экзотичный способ, а именно через dbisql, т.е. через запуск dbisql с передачей ему соответсвующего скрипта, там путь будет относительно самого dbisql, т.е. локольно... Попробую, если dbicql - работает с путями локальной машины... Я то, использовал dbisqlc... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2010, 17:21 |
|
Как получить файл из базы на локальный компьютер?
|
|||
---|---|---|---|
#18+
antandЯ что-то не пойму проблемы Или речь идет о том, чтобы только утилитами типа dbisql и т.п.? Именно этими средствами... на клиентах стоит ПО и попутно драйвер ASA9 с настроенной связкой через ODBC с подключением к базе. Также на клиенте есть утилита dbisqlc... Задача "вытягивать" из сетевой базы - файлы из таблицы (BLOB) на лок. комп. Я пока сделал вызовом процедуры, выкладывание файлов в шару на сервере, затем sql-командой с параметрами шары (путь так же в базе храню) создаю BAT-ник, он же затем стартует и от имени локального компа тянет файлы из шары в указанную локальную папку. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2010, 17:30 |
|
Как получить файл из базы на локальный компьютер?
|
|||
---|---|---|---|
#18+
SPMASKSergey OrlovЕсть весьма экзотичный способ, а именно через dbisql, т.е. через запуск dbisql с передачей ему соответсвующего скрипта, там путь будет относительно самого dbisql, т.е. локольно... Попробую, если dbicql - работает с путями локальной машины... Я то, использовал dbisqlc... Жаль, но (dbisql, dbisqlc, dbisqlg) выгружают именно на сервере баз данных. использую селект: select xp_write_file('C:\'+filename,files) from TABLE; :( ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2010, 10:36 |
|
Как получить файл из базы на локальный компьютер?
|
|||
---|---|---|---|
#18+
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; тогда да, действительно только через шары клиента или сервера... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2010, 12:53 |
|
Как получить файл из базы на локальный компьютер?
|
|||
---|---|---|---|
#18+
SPMASKantandЯ что-то не пойму проблемы Или речь идет о том, чтобы только утилитами типа dbisql и т.п.? Именно этими средствами... на клиентах стоит ПО и попутно драйвер ASA9 с настроенной связкой через ODBC с подключением к базе. Также на клиенте есть утилита dbisqlc... Задача "вытягивать" из сетевой базы - файлы из таблицы (BLOB) на лок. комп. Я пока сделал вызовом процедуры, выкладывание файлов в шару на сервере, затем sql-командой с параметрами шары (путь так же в базе храню) создаю BAT-ник, он же затем стартует и от имени локального компа тянет файлы из шары в указанную локальную папку. Ведь вроде можно все скриптом н-р WScript сделать через ADO-ODBС подключение. Не надо никаких шар, dbisqlc и т.п. Нужен только установленный драйвер ODBС ASA 9 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2010, 16:43 |
|
Как получить файл из базы на локальный компьютер?
|
|||
---|---|---|---|
#18+
antandSPMASKantandЯ что-то не пойму проблемы Или речь идет о том, чтобы только утилитами типа dbisql и т.п.? Именно этими средствами... на клиентах стоит ПО и попутно драйвер ASA9 с настроенной связкой через ODBC с подключением к базе. Также на клиенте есть утилита dbisqlc... Задача "вытягивать" из сетевой базы - файлы из таблицы (BLOB) на лок. комп. Я пока сделал вызовом процедуры, выкладывание файлов в шару на сервере, затем sql-командой с параметрами шары (путь так же в базе храню) создаю BAT-ник, он же затем стартует и от имени локального компа тянет файлы из шары в указанную локальную папку. Ведь вроде можно все скриптом н-р WScript сделать через ADO-ODBС подключение. Не надо никаких шар, dbisqlc и т.п. Нужен только установленный драйвер ODBС ASA 9 Я бы с удовольствием всё упростил, но не силён в данных технологиях... Если бы кто подсказал, как через уже настроенный доступ через ODBC из таблицы с сохранёнными файлами в поле с типом BLOB - вытащить их локально опять же в виде файлов??? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2010, 10:52 |
|
Как получить файл из базы на локальный компьютер?
|
|||
---|---|---|---|
#18+
SPMASK, Для начала посмотрите SQL Anywhere Server - Programming » SQL Anywhere Data Access APIs » SQL Anywhere OLE DB and ADO APIs А потом посмотрите WScript, в инете куча примеров и документации, в том числе по работе с базами. Данными технологиями очень неплохо владеть, т.к. они позволяют просто, эффективно, без лишних затрат и ПО очень многие несложные задачи автоматизации решать подобных вашей. (административные, обработки данных и т.п.). Там где интерфейс пользователя особо не нужен. Сейчас еще и PowerShell есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2010, 12:05 |
|
Как получить файл из базы на локальный компьютер?
|
|||
---|---|---|---|
#18+
Вот и я столкнулся с тем что необходимо вытаскивать файлы из ASA 11 и ничего не получается... конекчусь к ASA из 9-го фокса... помогииииииите плиз... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2010, 15:37 |
|
Как получить файл из базы на локальный компьютер?
|
|||
---|---|---|---|
#18+
Никак не вникаю в чем сложности. Подключаемся клиентом, делаем выборку блоба, получаем данные, сливаем в файл... Проблему нужно формулировать четче. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2010, 22:06 |
|
Как получить файл из базы на локальный компьютер?
|
|||
---|---|---|---|
#18+
Решил вопрос! Еще одним способом... (без использования "шары") - настроена связка в ODBC - которая при обращении поднимает пустую базу, в которой прописан "Remote server" (коннект к сетевой базе) и на нём нужная мне таблица с файлами (blob) - как PROXY TABLE - а уже по ней локально - xp_write_file('%CD%'+filename,files) from EDELFILES ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2010, 17:52 |
|
Как получить файл из базы на локальный компьютер?
|
|||
---|---|---|---|
#18+
iLLerНикак не вникаю в чем сложности. Подключаемся клиентом, делаем выборку блоба, получаем данные, сливаем в файл... Проблему нужно формулировать четче. Проблема чётко сформулирована в заголовке... База удалённая, а все локальные sql-запросы по выборке файлов - исполняются на удалённом сервере. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2010, 17:54 |
|
|
start [/forum/topic.php?fid=55&msg=36615038&tid=2010597]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
63ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 171ms |
0 / 0 |