Как спрятать БД TPS в сети ?

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
Admin
Администратор
Сообщения: 4010
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 53 раза
Поблагодарили: 33 раза
Контактная информация:

Как спрятать БД TPS в сети ?

Сообщение Admin »

finsoftrz писал(а): Я бы сказал так, связка рабочая, но концептуально хромая.
Все правильно сказал! :?
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1411
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 12 раз
Поблагодарили: 2 раза
Контактная информация:

Как спрятать БД TPS в сети ?

Сообщение RaFaeL »

Игорь Столяров писал(а): А если это "коробочный" продукт, который должен устанавливаться и работать где-тотам "во глубине сибирских руд", непонятно на каких компьютерах и версиях Windows, и использоваться людьми далекими от IT ? Что тогда делать ?
MS SQL Express чем не устраивает? Ставится очень легко, на клиентские машины ставить вообще ничего не надо, по сети программу запускаем и сразу все работает
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8028
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

Как спрятать БД TPS в сети ?

Сообщение Игорь Столяров »

finsoftrz писал(а): Связка первасива с терминальным доступом - это очень круто
Здесь просто "терминальная сеть" выступает в роли таблетки от всего ... ;)
Медленный доступ ? Установите терминальную сеть !
Дохлые рабочие станции ? Установите терминальную сеть !
Юзеры лезут туда, куда не надо ? Установите терминальную сеть !
и т.д. и т.п. :)

Это все понятно, так и делаем, где это возможно. ... Если дальше идти в этом направлении - то придем к SaaS & Cloud. ;)

Pervasive.SQL (Btrieve) и сам по себе прекрасен, скорость доступа в сети выше раза в три по сравнению с TPS.
А в контексте Clarion - вдвойне. Если обходить некоторые мелкие нюансы (вроде Blob, ключи по Decimal и т.д.),
то можно программу с TPS БД собирать для Btrieve простой подменой словаря.
Но проблема та же - требуется файловый доступ, файлы БД в открытом доступе по сети ... :(
Make Clarion Great Again ! 😎
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8028
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

Как спрятать БД TPS в сети ?

Сообщение Игорь Столяров »

RaFaeL писал(а): MS SQL Express чем не устраивает?
Да, это хороший вариант, особенно в контексте возможности использования в т.ч. и полноценного MS SQL.
Но для перехода с TPS надо перелопачивать весь код ...
Make Clarion Great Again ! 😎
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1411
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 12 раз
Поблагодарили: 2 раза
Контактная информация:

Как спрятать БД TPS в сети ?

Сообщение RaFaeL »

Игорь Столяров писал(а): Но для перехода с TPS надо перелопачивать весь код ...
У нас проект имеет две версии
Одна TPS, используется как однопользовательское бесплатное Демо
И коммерческая на MS SQL
Переводили в свое время постепенно. Исходники одни и те же, два словаря, их приходится периодически синхронизировать через txd но в целом проблем нет
Ранее была и многопользовательская версия на tps и клиент сам выбирал, что ему нравится, простота или безопасность, но надоели постоянно "падающие" файлы при активной многопользовательской сетевой работе и от неё пришлось отказаться
Есть флажок SQLFlag он вынесен в глобальный inc, по этому флажку внутри местами другой код (для ускорения, на запросах, в основном это отчеты, выборки, фильтры), но для начала можно и без него, т.е. формы, броузы и т.п. те же самые! Т.е. у нас есть каталог с программой на tps, меняем в нем словарь и inc с флажком и компилим - на выходе версия под MS SQL! Более того, однажды (случайно по разгильдяйству) выяснилось, что достаточно менять только dll с глобальными данными (в котором стоит декларация файлов) и все продолжает работать!
Последний раз редактировалось RaFaeL 24 Октябрь 2015, 13:24, всего редактировалось 2 раза.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8028
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

Как спрятать БД TPS в сети ?

Сообщение Игорь Столяров »

RaFaeL писал(а): меняем в нем словарь и inc с флажком и компилим - на выходе версия под MS SQL!
Это интересная идея ... как-то она меня всегда пугала. Все-таки совсем разный вид доступа.
Надо на какой-нибудь игрушечной программке попробовать. Спасибо ! :)

Мы делали немного другой вариант.
Основной интерфейс работал с драйвером Btrieve, а запросы на SQL выполняли через Pervasive.SQL по тем же самым файлам БД.
Это в принципе, в P.SQL, реализован тот самый двойной подход к работе с файлами БД, которого так не хватает в TPS ....
Make Clarion Great Again ! 😎
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1411
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 12 раз
Поблагодарили: 2 раза
Контактная информация:

Как спрятать БД TPS в сети ?

Сообщение RaFaeL »

Игорь Столяров писал(а): Это интересная идея ... как-то она меня всегда пугала. Все-таки совсем разный вид доступа.Надо на какой-нибудь игрушечной программке попробовать. Спасибо !
Там конечно есть нюансы
Во-первых, правили abfile.clw (могу прислать) иначе были какие-то проблемы то ли с автонумерацией, то ли не помню уже с чем
Во-вторых, в словаре MS SQL на всех таблицах висит триггер с функцией вида if ABC:NumRec=0 then setnull(ABC:NumRec) если поле в SQL имеет связи а мы добавляем записи где эти поля пустые
В словаре на tps прописаны Cascade на удаление, в словаре SQL везде строго No Action а аналог прописан непосредственно в базе SQL
Броузы корректно работают ТОЛЬКО по уникальным ключам, т.е. во все ключи по которым броуз добавляем поле первичного ключа (если такового в таблице нет - добавляем)
Такого, в целом, много, но всё решается
kreator
✯ Ветеран ✯
Сообщения: 5159
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

Как спрятать БД TPS в сети ?

Сообщение kreator »

У нас админы тоже такой вопрос подняли, но не для БД, а хранилица документов и фотографий, с которыми мы работаем через обычные кларионовские функции. Поэтому папку надо расшарить. Пока спустили на тормозах и вопрос здесь я не стал задавать. Но проработали.
Самый простой вариант - воспользоваться винапишной функцией createprocesswithlogonw. Она позволит exe-шнику запустится под пользователем с другими правами. Изначально пользователь папку не видит, а программа запускается по админом (условно говоря), который имеет доступ к папке.
Ещё тема - посмотреть в сторону ip-драйвера. 1С-ники сейчас могут работать через т.н. "сервер приложений 1С". Особых подробностей и они не знают. Но говорят, что он может работать в двух режимах - как простая прокладка между пользователем и данными, или может брать на себя задачи по обработке запросов, отчётов, в т.ч. может решить нашу проблему. Вот если бы кларионовский ip-драйвер имел бы такую функциональность. Или как? Есть у кого опыт работы с ip-драйвером?
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8028
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

Как спрятать БД TPS в сети ?

Сообщение Игорь Столяров »

kreator писал(а): Ещё тема - посмотреть в сторону ip-драйвера.
Для C10 драйвер IP вообще существует в природе ?
Make Clarion Great Again ! 😎
gopstop2007
Полимат
Сообщения: 1810
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 24 раза
Поблагодарили: 10 раз

Как спрятать БД TPS в сети ?

Сообщение gopstop2007 »

kreator писал(а):У нас админы тоже такой вопрос подняли, но не для БД, а хранилица документов и фотографий
а если их хранить в блобах?
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Developer
Ветеран
Сообщения: 551
Зарегистрирован: 26 Март 2012, 17:18

Как спрятать БД TPS в сети ?

Сообщение Developer »

Игорь Столяров писал(а): А вот с Pervasive.SQL (Btrieve) те же самые проблемы, что с TPS - требуется файловый доступ к БД.
Да, есть такая проблема :(

Радикальный вариант решения этой проблемы - доступ только по IP протоколу - файлы баз в сети не видны!

Варианты решения проблемы блокировки доступа к физическим файлам баз данных:
1)Clarion IP Driver (файловый доступ не нужен - работа только по IP протоколу)
2)ODBC (Clarion TPS ODBC) - нужен ODBC TPS v5 - где его взять?
ODBC TPS v4 - не работает на Windows x64
3)Сервер приложений - трехзвенная система доступа к базе данных (касательно Pervasive SQL и TPS)
4)Терминальный доступ
5)Изменение аттрибутов физических файлов баз данных
на скрытый, системный (защита только от неопытных пользователей)
6)Переход на SQL Server - лучшее решение настоящего времени
7)Облачные сервисы - решение ближайшего будующего

Самое простое решение - шифрование файлов TPS, изменение аттрибутов физических файлов баз данных
на скрытый, системный и держать файлы баз данных постоянно открытыми для невозможности удаления :mrgreen:

Для Actian (Pervasive) - только необходимо данное решение состыковать с приложением Clarion,
вот возможное решение - http://wi.tensor.ru/wiki/index.php/Орга ... вого_диска
Последний раз редактировалось Developer 19 Май 2016, 21:21, всего редактировалось 3 раза.
С Уважением, Developer
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8028
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

Как спрятать БД TPS в сети ?

Сообщение Игорь Столяров »

Developer писал(а): только необходимо данное решение состыковать с приложением Clarion
А что стыковать-то ? Это просто драйвер Pervasive.SQL.
По указанной ссылке написано, как БД СБИС переносится с Btrieve на P.SQL.

Я пробовал работать с Pervasive.SQL. Драйвер Clarion для этой БД достаточно грустный, в отличии от MS SQL.
Сама инструментальные средства работы с БД в P.SQL - убогие (по крайне в версии 9.XX)
Перенести БД с Btrieve на P.SQL - только вручную писать создание таблиц и переливать через код списки.
Make Clarion Great Again ! 😎
Developer
Ветеран
Сообщения: 551
Зарегистрирован: 26 Март 2012, 17:18

Как спрятать БД TPS в сети ?

Сообщение Developer »

Вопрос практического применения - возможно ли работа без сетевого диска в Pervasive SQL 10 SP3 :?:

Мне Pervasive SQL не очень нравиться, однако его используем - и возникает переодически вопрос -
как оградить файлы баз данных Pervasive SQL от несанкционированного доступа и повреждения (удаления)?

К сожалению, больше никакой информации по работе по протоколу IP без сетевого русурса
для сервера Pervasive SQL 10SP3 не обнаружил :(

Вот ссылка на документ Pervasive SQL 10SP3 http://www.pervasive.com/Portals/55/doc ... 10_SP3.pdf - поддержка TCP/IP присутствует - необходим ли к нему сетевой ресурс?

Необходимо протестировать этот режим :wink:

Кто работает вплотную с Pervasive SQL 10S P3 - есть ли в нём режим без сетевого ресурса -
только доступ по IP :?:
С Уважением, Developer
kreator
✯ Ветеран ✯
Сообщения: 5159
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

Как спрятать БД TPS в сети ?

Сообщение kreator »

gopstop2007 писал(а): kreator писал(а):У нас админы тоже такой вопрос подняли, но не для БД, а хранилица документов и фотографий
а если их хранить в блобах?
Пока не рассматривается вариант, планируется очень большое хранилище. Сейчас выделяют под это дело 5Тб. На несколько лет хватит, но вот иметь такую базу? Хотя почему нет? Firebird (БД на нём) позволяет сделать отдельный файл для таких случаев. Только не будет доступа через проводник, это плохо, надо интерфейс писать для всех.
We are hard at work… for you. :)
gopstop2007
Полимат
Сообщения: 1810
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 24 раза
Поблагодарили: 10 раз

Как спрятать БД TPS в сети ?

Сообщение gopstop2007 »

kreator писал(а):Пока не рассматривается вариант, планируется очень большое хранилище. Сейчас выделяют под это дело 5Тб. На несколько лет хватит, но вот иметь такую базу? Хотя почему нет? Firebird (БД на нём) позволяет сделать отдельный файл для таких случаев. Только не будет доступа через проводник, это плохо, надо интерфейс писать для всех.
с другой стороны будет разграничение прав на просмотр определенных фото и документов :) и кстати можно для лок пользователей за счет синхронизации подкачивать и хранить данные на их машинах, чтобы не загружать сеть.
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Ответить