как сохранить в базе экранный вид документа?
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



как сохранить в базе экранный вид документа? Expand / Collapse
Автор
Сообщение
08.01.2007 13:30
Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: 20.03.2008 12:32
Сообщ.: 53, Visits: 470
На стороне клиента страница asp формирует документ на основе информации из базы данных. Как сохранить вид этого документа на сервере, чтобы иметь возможность впоследствии выдать его клиенту по требованию точно в таком же виде. Формировать его заново с помощью той же страницы asp не предлагать. Этот путь понятен и не подходит. Как сохранить именно экранный вид документа и вытаскивать его из БД?
Сообщ. #909446
08.01.2007 14:52


Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 28.06.2007 10:01
Сообщ.: 244, Visits: 2 268
Не очень понятен вопрос, но мне кажется можно так:

- результат, используя  MSXML2.ServerXMLHTTP, сохраняем в файле под средством Stream.SaveToFile

- затем в БД регить юзера, когда и что грузил и какой файл соответствует... ну и отправлять энтот файл.

Звиняй, если не подойдет метод, т.к. не очень понятен мотив извращения, хотя идея понятна... Без обработки ASP-а все-равно обойтись не выйдет.

Сообщ. #909448
08.01.2007 15:13
Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: 20.03.2008 12:32
Сообщ.: 53, Visits: 470
mentos_has_arisen (08.01.2007)
Не очень понятен вопрос, но мне кажется можно так:

- результат, используя  MSXML2.ServerXMLHTTP, сохраняем в файле под средством Stream.SaveToFile

- затем в БД регить юзера, когда и что грузил и какой файл соответствует... ну и отправлять энтот файл.

Звиняй, если не подойдет метод, т.к. не очень понятен мотив извращения, хотя идея понятна... Без обработки ASP-а все-равно обойтись не выйдет.

Этот MSXML2.ServerXMLHTTP где позволяет сохранять файлы? На клиенте или на сервере? Если на сервере, то это небезопасно и ограничивается администрацией хостинга наверняка, если на клиенте, то встает задача их обратной заказчки на сервер в БД - а хотелось бы обойтись без лишних клиокв со стороны юзера все это делать. Юзера все итак авторизованы, сайт закрытый. Можно чуть подробнее, никогда не имел дела с MSXML2.ServerXMLHTTP. Спасибо за помощь

Сообщ. #909449
08.01.2007 15:28


Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

модератор
Last Login: 29.10.2007 14:45
Сообщ.: 1 833, Visits: 16 863
С самого начала: "На стороне клиента страница asp формирует документ на основе информации из базы данных".

Эта фраза противоречит сама себе.

На стороне клиента asp страница делать ничего не может - серверный сценарий выполняется на сервере, а на клиенте выполняется клиентский сценарий (обычно JavaScript). Описывай задачу точнее. Есть база с докумнетами, которые генерируются под определенных пользователей? Т.е. скажем, подставляется имя пользователя в шаблон?

Тогда я не понимаю - зачем их отдельно сохранять? На случай изменения шаблона? Ну пусть даже так. Что тогда мешает перед отправкой кода клиенту сохранять получившуюся страницу в базу? И сделать какую-либо другую  ASP страницу, которая позволяет по ID документа вытягивать его из БД?

Сообщ. #909450
08.01.2007 19:51
Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: 20.03.2008 12:32
Сообщ.: 53, Visits: 470
Alexey Spirin (08.01.2007)
С самого начала: "На стороне клиента страница asp формирует документ на основе информации из базы данных".

Эта фраза противоречит сама себе.

На стороне клиента asp страница делать ничего не может - серверный сценарий выполняется на сервере, а на клиенте выполняется клиентский сценарий (обычно JavaScript). Описывай задачу точнее. Есть база с докумнетами, которые генерируются под определенных пользователей? Т.е. скажем, подставляется имя пользователя в шаблон?

Тогда я не понимаю - зачем их отдельно сохранять? На случай изменения шаблона? Ну пусть даже так. Что тогда мешает перед отправкой кода клиенту сохранять получившуюся страницу в базу? И сделать какую-либо другую  ASP страницу, которая позволяет по ID документа вытягивать его из БД?

Согласен, я неправильно выразился. Страница формируется на сервере на основе кучи данных из таблиц БД. В редких случаях эти данные меняются, тогда старые значения удаляются из базы и нужны крайне редко только для истории. Нет нужды запоминать их значения в таблицах с пометкой "изменено" - их слишком много, в разных таблицах. Есть идея запомнить всю страницу целиком - так как она выглядела с измененными данными, чтобы при необходимости показать именно в таком виде юзеру. Но как это лучше сделать? 

Сообщ. #909454
09.01.2007 7:26


Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 28.06.2007 10:01
Сообщ.: 244, Visits: 2 268
Как сохранить вид этого документа на сервере

Таким механизмом, как я описывал выше.

Вот как делается у меня. Правда у меня asp-а выдает XML

Resours="Твой.асп?..." ' путь к твоему аспу со всеми параметрами

Set objSrvHttp = Server.CreateObject("MSXML2.ServerXMLHTTP")
   Call objSrvHTTP.open("GET", Resours, False)
   objSrvHTTP.send()

'проверка статуса загрузки страницы
    If (200 <> objSrvHTTP.status) Then
     Response.Write("HTTP Error: " & objSrvHTTP.status)

    Else

     Dim objStream
     Set objStream = Server.CreateObject("ADODB.Stream")
     objStream.Type = 1 ' adTypeBinary
     objStream.Open

'запись кода в поток
     objStream.Write(objSrvHTTP.responseBody)

'созранение файла
     Call objStream.SaveToFile(Server.MapPath("aaaa/aaa.html"), 2)
     objStream.Close()
     Set objStream = Nothing
     Set objSrvHTTP=Nothing

   End If

Дале дело техники... файл есть на сервере, можно выводить его в дальнейшем.

Сообщ. #909460
09.01.2007 8:29


Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

модератор
Last Login: 29.10.2007 14:45
Сообщ.: 1 833, Visits: 16 863
Ага. А представь,  во сколько раз  больше по объему будут занимать "готовые" документы.

Кроме того я так и не понял - почему нельзя ПЕРЕД первой выдачей клиента сохранить доку в базу?

Сообщ. #909461
09.01.2007 10:35


Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 28.06.2007 10:01
Сообщ.: 244, Visits: 2 268
100% согласен с Вами, Alexey Spirin. Я просто ответил на вопрос:

Как сохранить вид этого документа на сервере

Конечно можно было сразу закатать в БД. Хотя, с другой стороны, БД разбухнет как тампон в рекламе. А если использует ACCESS... кирдык.  ПО-мне, конечно, БД лучше... тогда можно было б код хранить для каждого юзверя... ну если шаблоны вывода предлагается использовать разные для групп пользователей. Если же вывод у всех одинаковый, то лучше файлом хранить... сейчас с местом на хостингах ни где не скупятся, чего не скажешь об ограничениях в размере БД.

Все равно тампон полный :)

Сообщ. #909463
09.01.2007 12:05
Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: 20.03.2008 12:32
Сообщ.: 53, Visits: 470
mentos_has_arisen (09.01.2007)

Пошел по этому пути, получил на сстроке Call objSrvHTTP.open("GET", Resours, False) ошибку 

msxml3.dll error '80004005'

Unspecified error

Пока не понял из-за чего.

Сообщ. #909469
09.01.2007 13:52


Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 28.06.2007 10:01
Сообщ.: 244, Visits: 2 268
Извини нет времени.. вот быстрые ссылки:

http://www.relib.com/forums/Topic893393-23-1.aspx

http://support.microsoft.com/default.aspx?scid=kb;EN-US;q305053

Сообщ. #909477
10.01.2007 12:17
Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: 20.03.2008 12:32
Сообщ.: 53, Visits: 470
C ошибкой разобрался. Путь к странице я задавал относительный, а необходим полный.

Поскольку давать доступ для IUSR на запись в папку на сервере небезопасно, можно ли записать html сразу в БД, если да то как?

Сообщ. #909508
10.01.2007 15:32
Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: 20.03.2008 12:32
Сообщ.: 53, Visits: 470
mentos_has_arisen (09.01.2007)

Конечно можно было сразу закатать в БД

Подскажи как это сделать минуя сохранение файла на диске?

P.S. And mentos will arise!

Сообщ. #909520
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.

Время GMT +3:00, Сейчас 4:00