Автор Тема: SQL-сервер с одной лицензией  (Прочитано 1366 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Нахухоль

  • ***
  • Сообщений: 1720
    • Просмотр профиля
#0: 18 Августа 2003, 08:24:17
Не могу, нах, найти.... Где-то Чувак говорил о том, как юзать SQL-сервер с одной лицензией. Что-то типа: ставится сервер, один легально подключенный комп к нему, а остальные юзеры ходят через этот комп.  Напомните, где это было. нах.

Собственно, проблема следующая: Есть легально приобретенный ORACLE-9i PersonalEdition с соккетами для всех операционок. Надо сделать, чтоб под Виндой к нему можно было коннектиться с нескольких машин в сети.

Понятно, что на одной, постоянно подключенной машине, должна крутиться софтина, которая принимает по сети запросики и отправляет их по единственному каналу на сервер, возвращая результат тому, кто запрашивал, но вот в тонкостях.... Можь, кто-нить поделится опытом???????
И КАК это скажется на производительности, если запросы-ответы от нескольких юзеров одновременно будут "толкаться" в единственном канале???? Насколько это критично, скажем,  при 5-7 одновременных подключениях??? Нах.

Fox

  • Гость
#1: 18 Августа 2003, 10:28:05
Будем надеяться, что на Ваш вопрос ответит ЧУВАК.

Из личного опыта - если на сервере 1 лицензия, то это надо учитывать при разработке программы. На FoxPro - я открываю сессию, принимаю/обновляю данные, затем сразу закрываю сеанс. Кроме того увеличиваю время ожидания ответа от сервера. Для простых задач и не очень больших баз - работает великолепно.

При ВСЕГО 5-7 одновременных подключениях отлично справится и FoxPro без всякого SQL сервера :)))

Извините, если что не так...

Нахухоль

  • ***
  • Сообщений: 1720
    • Просмотр профиля
#2: 18 Августа 2003, 12:36:18
Прием и обновление данных производится, как я понимаю, в пределах одной сессии. А что происходит если один юзер еще не закончил сессию, а другой пытается начать новую? Поскольку юзеры ходят на сервер через одну и ту же машину, то сеанс для нее уже открыт  и занят первым юзером..... И сервер всегда думает, что к нему подключена одна машина. Что происходит с запросами от второй машины?

Fox

  • Гость
#3: 18 Августа 2003, 12:56:17
To: Нахухоль
Если это вопрос ко мне, то клиент получит в ответ на запрос установление сеанса - отказ.

Да, кстатит, пришла одна интересная мысль - можно просто сделать web server и через Web services получить доступ по 1 каналу (соединению) к SQL Server и ничего выдумывать не надо - стандартное средство, предлагаемое MS, чтобы обойти свои-же ограничения :)). Но это в том случае, если вы самостоятельно пишите приложение ...

Вышеуказанный вариант отлично работает с FoxPro, думаю, что и с SQL Server должно все работать аналогично...

Нахухоль

  • ***
  • Сообщений: 1720
    • Просмотр профиля
#4: 18 Августа 2003, 13:34:23
А если так: на сервере установлен сам оракл и там же валяется база, которой он управляет. На другой машине в сети установлен единственный клиент и поднята служба терминалов. Все другие юзеры работают с базой через единственного клиента в терминальном режиме?

Fox

  • Гость
#5: 18 Августа 2003, 14:18:12
To: Нахухоль
Если вопрос ко мне, то я пас... Предпочитаю FoxPro и Web Services безо всяких \"извращений\"... Может кто вечером ответит...

Нахухоль

  • ***
  • Сообщений: 1720
    • Просмотр профиля
#6: 18 Августа 2003, 14:37:34
Подождем-с.... Можь Чувак проснется.....

ЧУВАК

  • Гость
#7: 18 Августа 2003, 14:40:55
Димыч, делается это такЪ:

городится софтина, COM-сервер, который является \"транзитным\", т.е. от имени которого происходит обмен запросами с сервером и передача ответов клиенту. Практически мы имеем дело с одним подключением, которое и юзает 1 лицензию :-) Этакий \"прокси\". Работа непосредственно с ним осуществляется через злополучный RPC, хотя так делалось раньше, как сейчас, я не знаю, ибо \"уже давно не программист\" :-(

Если есть дикое желание, можешь (например) организовать обмен данными между приложениями на основе DDE-дейтаграмм, но там много руками писАть придется :-(

Ты приходи в гости, я тебя познакомлю с 3-мя очень толковыми людьми, которые пишут на Дельфи. Есть еще один маньяк, но его очень тяжело выловить. Да.

Нахухоль

  • ***
  • Сообщений: 1720
    • Просмотр профиля
#8: 18 Августа 2003, 15:17:34
Ага!!!!!!! Проснулся, патлатый.....

Ну что ж... Придется зайти, хотя интересовало именно САМО_РЕШЕНИЕ, ИДЕЯ, так сказать..... Щас я пока сам подумаю в направлении того что ты накидал, а потом зайду. Вопрос в том, захотят ли \"толковые люди\" тратить свое время, чтоб мусолить со мной эти весчи..... Мне ж, как бы, с самого начала надо все объяснять..... Так что я тут пока подумаю, почитаю, кое-что попробую, чтоб говорить уже по-существу. Дело в том, что конкретной задачи пока нет. Нужна модель. А там видно будет....

Хм. Делфи.... Какая разница на чем интерфейс писАть? Главный вопрос передо мной - как заюзать одну лицензию. И обязательно Оракл. И обязательно ПерсоналЭдишн. Это - \"предикаты\", млин. А вот, ЧТО нагородить, имея такие предикаты - вот ЭТО и есть ВОПРОС!!!!! нах.

Spik

  • Гость
#9: 18 Августа 2003, 15:55:50
Не скажу за Oracle под Windows, но в Oracle на Sun Spark(установленный в А-Связь), понятие лицензии было сугубо юридическое

Maestro

  • Гость
#10: 18 Августа 2003, 17:24:12
Ну это типа Midl-клиент.
Пишешь софт для одной тачки, который получает данные от клиентов и общается с сервером.

Нахухоль

  • ***
  • Сообщений: 1720
    • Просмотр профиля
#11: 19 Августа 2003, 07:48:10
Опаньки!..... Maestro появился.... А я тебя не могу никак вызвонить, чтоб поздравить. Видимо, ушел ты в глубокий даун по такому радостному случаю..... Поздравляю здесь!

А вот интересно, в каком виде практичнее всего получать данные от юзеров? Понятно, что на другой стороне стоит сервер и все, что получено от клиентов должно транслироваться в вид, понятный серверу (т.е. запросы). И наоборот, получая от сервера ответ, надо переводить его в вид понятный клиенту (html какой-нить, чтоб траффик поменьше). Хотя, зачем изобретать велисапед???. Все должно работать и так, без всяких трансляторов. Ибо сервер для того и сервер, чтоб запросы понимать...

Тогда вопрос сводится к этой софтине, как к принимающей запросы от клиентов и раздающей ответы. Она должна регистрить от кого какой запрос пришел, накапливать их в какой-то очереди (как патроны в магазине). И по очереди же и отрабатывать (ибо у нас одно соединение в один момент времени), удаляя после этого. Как правильно сказал Чувак - эдакая \"прокся\", только с неким кэшэм или стеком, в котором содержится очередь. Если поразмыслить еще, то очередей должно быть несколько (успешные, отвергнутые, .... хотя -нет, это уже ЛОГи результатов обработки). В дебри пока не полезем.

Остается вопрос - в каком виде запрос должен летать по сетке? В текстовом? да ну, нах... Хотя в Фоксе именно так и можно делать. Принимать запрос в текстовом виде и выполнять его в виде макроса. Какие еще возможны варианты? Кто что думает по виду передаваемого запроса? нах.

ЧУВАК

  • Гость
#12: 19 Августа 2003, 08:00:48
Вопрос не в \"каком виде должен летать запрос\", а в каком виде должен прилететь ОТВЕТ. Запрос - транзитом, SQL-оператор с операндами. А вот ответ... Рекордсет ??? А дальше ??? Идеальным будет перенести ВСЮ логику на сторону сервера (stored proc), а ловить только итоги их работы, но для постоянно-модифицируемого продукта - сплошной головняк. Можно прикрутить XML, но придется поискать соотв. контейнер, хотя почему бы и нет. Да.

Fox

  • Гость
#13: 19 Августа 2003, 08:11:50
To: Нахухоль
Кстати, тут была ранее ветки с моими глупыми вопросами по клиент-серверным приложениям (обязательно перечитайте ее). Благодаря участникам форума мне удалось написать систему заказов через Интеренет с использованием Web Services (Базы данных и инструмент разработки - VFP 7.0).
Данные передаются и принимаются в виде XML файлов (да, они имеют текстовый вид). Запросы посылаются в виде параметров выборки (то есть на сервере есть задача, которая их принимает). Клиент я использовал \"толстый\" - FoxPro, но можно сделать без проблем и доступ через MS Web Server + (HTML и ASP).

Интересно, а какая у Вас задача?

Если Вам интересен совет постороннего и вам нужно практическое решение, а не изучение Oracle (для дальнейшей карьеры) - то наиболее быстрое решение можно сделать на VFP (со встроенными Web Services для доступа из внешнего мира). Кстати, на нашем Web-site лежит библиотека для VFP 7.0 с исправленной поддержкой русского языка.

В любом случае - удачи, не много людей в нашем городе делают что-то практическое...

Нахухоль

  • ***
  • Сообщений: 1720
    • Просмотр профиля
#14: 19 Августа 2003, 13:08:13
Спасибо Фоксу за пожелание удачи. Как назывался тот трэд, в котором это обсуждалось ранее (я в форуме недавно, при этом обсуждении не присутствовал, а искать наобум - времени много надо)?????? Навскидку не помнишь название???

Чуваку:
Рекордсет отпадает. Адназначна. Какой смысл возвращать набор записей? Его все равно придется окончательно обрабатывать на стороне клиента ибо содержать он может НЕ ОДНУ запись.... Это, несомненно, разгрузит сервер, но.....  логичнее возвращать результат в виде какого-нить документа. Пусть сервер выполняет своб функцЫю - пахать. И это, по идее, снизит требования к железу клиентской машины (в идеале - вообще голый терминал). Значит вся обработка должна делаЦЦа на стороне сервера всякими там хранимыми проц. и триггерами. Хотя, в таком подходе тоже минус есть - изменение алгоритмов расчета (частая вещь) автоматически влечет за собой переделку базы (ведь триггеры и хранимые сидят в ней....). Это не есть хорошо. И не есть хорошо ВЕСЬМА.

Хотя.... Запросы, они разные бывают. Бывает надо получить и набор записей.... Думать надо хорошо, нах. Без Пива не разберешься

ЗЫ:(зря Фокс Пиво не пьет. С рыбами вкуснячими....., глядишь, повеселел бы ....)

Fox

  • Гость
#15: 19 Августа 2003, 13:43:41
Приблизительно здесь:

http://www.amit.ru/foruma/showmes.asp?cust_id=518

Нахухоль

  • ***
  • Сообщений: 1720
    • Просмотр профиля
#16: 27 Октября 2009, 23:01:24
Да-а-а-а-а... перечитал.
Какая-ж жысть насыщенная тогда была.... Делали что-то реальное и кому-то нужное. Что щас? Слово неприличное - вот, что щас.

DimonS

  • *****
  • Сообщений: 15853
    • Просмотр профиля
#17: 28 Октября 2009, 02:58:51
Нахухоль
Да и ссылка http://www.amit.ru/foruma/showmes.asp?cust_id=518 что-то не работает :)))

lexfal

  • ***
  • Сообщений: 1602
    • Просмотр профиля
#18: 28 Октября 2009, 06:57:19
и не так флудили, как сейчас...

Нахухоль

  • ***
  • Сообщений: 1720
    • Просмотр профиля
#19: 28 Октября 2009, 10:47:08
DimonS

Да и ссылка http://www.amit.ru/foruma/showmes.asp?cust_id=518 что-то не работает :)))

И не будет работать. Форум тогда физически в другом месте лежал. Истоки, млин...

 

kompas