Все правильно сказал!
Как спрятать БД TPS в сети ?
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- Admin
- Администратор
- Сообщения: 4019
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 59 раз
- Поблагодарили: 41 раз
- Контактная информация:
Как спрятать БД TPS в сети ?
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1416
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 12 раз
- Поблагодарили: 2 раза
- Контактная информация:
Как спрятать БД TPS в сети ?
MS SQL Express чем не устраивает? Ставится очень легко, на клиентские машины ставить вообще ничего не надо, по сети программу запускаем и сразу все работает
- Игорь Столяров
- Ветеран движения
- Сообщения: 8239
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 34 раза
- Поблагодарили: 105 раз
Как спрятать БД TPS в сети ?
Здесь просто "терминальная сеть" выступает в роли таблетки от всего ...
Медленный доступ ? Установите терминальную сеть !
Дохлые рабочие станции ? Установите терминальную сеть !
Юзеры лезут туда, куда не надо ? Установите терминальную сеть !
и т.д. и т.п.
Это все понятно, так и делаем, где это возможно. ... Если дальше идти в этом направлении - то придем к SaaS & Cloud.
Pervasive.SQL (Btrieve) и сам по себе прекрасен, скорость доступа в сети выше раза в три по сравнению с TPS.
А в контексте Clarion - вдвойне. Если обходить некоторые мелкие нюансы (вроде Blob, ключи по Decimal и т.д.),
то можно программу с TPS БД собирать для Btrieve простой подменой словаря.
Но проблема та же - требуется файловый доступ, файлы БД в открытом доступе по сети ...
За теми, кто отстал, не возвращаться !
Кодекс
- Игорь Столяров
- Ветеран движения
- Сообщения: 8239
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 34 раза
- Поблагодарили: 105 раз
Как спрятать БД TPS в сети ?
Да, это хороший вариант, особенно в контексте возможности использования в т.ч. и полноценного MS SQL.
Но для перехода с TPS надо перелопачивать весь код ...
За теми, кто отстал, не возвращаться !
Кодекс
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1416
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 12 раз
- Поблагодарили: 2 раза
- Контактная информация:
Как спрятать БД TPS в сети ?
У нас проект имеет две версии
Одна TPS, используется как однопользовательское бесплатное Демо
И коммерческая на MS SQL
Переводили в свое время постепенно. Исходники одни и те же, два словаря, их приходится периодически синхронизировать через txd но в целом проблем нет
Ранее была и многопользовательская версия на tps и клиент сам выбирал, что ему нравится, простота или безопасность, но надоели постоянно "падающие" файлы при активной многопользовательской сетевой работе и от неё пришлось отказаться
Есть флажок SQLFlag он вынесен в глобальный inc, по этому флажку внутри местами другой код (для ускорения, на запросах, в основном это отчеты, выборки, фильтры), но для начала можно и без него, т.е. формы, броузы и т.п. те же самые! Т.е. у нас есть каталог с программой на tps, меняем в нем словарь и inc с флажком и компилим - на выходе версия под MS SQL! Более того, однажды (случайно по разгильдяйству) выяснилось, что достаточно менять только dll с глобальными данными (в котором стоит декларация файлов) и все продолжает работать!
Последний раз редактировалось RaFaeL 24 Октябрь 2015, 13:24, всего редактировалось 2 раза.
- Игорь Столяров
- Ветеран движения
- Сообщения: 8239
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 34 раза
- Поблагодарили: 105 раз
Как спрятать БД TPS в сети ?
Это интересная идея ... как-то она меня всегда пугала. Все-таки совсем разный вид доступа.
Надо на какой-нибудь игрушечной программке попробовать. Спасибо !
Мы делали немного другой вариант.
Основной интерфейс работал с драйвером Btrieve, а запросы на SQL выполняли через Pervasive.SQL по тем же самым файлам БД.
Это в принципе, в P.SQL, реализован тот самый двойной подход к работе с файлами БД, которого так не хватает в TPS ....
За теми, кто отстал, не возвращаться !
Кодекс
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1416
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 12 раз
- Поблагодарили: 2 раза
- Контактная информация:
Как спрятать БД TPS в сети ?
Там конечно есть нюансы
Во-первых, правили abfile.clw (могу прислать) иначе были какие-то проблемы то ли с автонумерацией, то ли не помню уже с чем
Во-вторых, в словаре MS SQL на всех таблицах висит триггер с функцией вида if ABC:NumRec=0 then setnull(ABC:NumRec) если поле в SQL имеет связи а мы добавляем записи где эти поля пустые
В словаре на tps прописаны Cascade на удаление, в словаре SQL везде строго No Action а аналог прописан непосредственно в базе SQL
Броузы корректно работают ТОЛЬКО по уникальным ключам, т.е. во все ключи по которым броуз добавляем поле первичного ключа (если такового в таблице нет - добавляем)
Такого, в целом, много, но всё решается
-
kreator
- ✯ Ветеран ✯
- Сообщения: 5233
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Как спрятать БД TPS в сети ?
У нас админы тоже такой вопрос подняли, но не для БД, а хранилица документов и фотографий, с которыми мы работаем через обычные кларионовские функции. Поэтому папку надо расшарить. Пока спустили на тормозах и вопрос здесь я не стал задавать. Но проработали.
Самый простой вариант - воспользоваться винапишной функцией createprocesswithlogonw. Она позволит exe-шнику запустится под пользователем с другими правами. Изначально пользователь папку не видит, а программа запускается по админом (условно говоря), который имеет доступ к папке.
Ещё тема - посмотреть в сторону ip-драйвера. 1С-ники сейчас могут работать через т.н. "сервер приложений 1С". Особых подробностей и они не знают. Но говорят, что он может работать в двух режимах - как простая прокладка между пользователем и данными, или может брать на себя задачи по обработке запросов, отчётов, в т.ч. может решить нашу проблему. Вот если бы кларионовский ip-драйвер имел бы такую функциональность. Или как? Есть у кого опыт работы с ip-драйвером?
Самый простой вариант - воспользоваться винапишной функцией createprocesswithlogonw. Она позволит exe-шнику запустится под пользователем с другими правами. Изначально пользователь папку не видит, а программа запускается по админом (условно говоря), который имеет доступ к папке.
Ещё тема - посмотреть в сторону ip-драйвера. 1С-ники сейчас могут работать через т.н. "сервер приложений 1С". Особых подробностей и они не знают. Но говорят, что он может работать в двух режимах - как простая прокладка между пользователем и данными, или может брать на себя задачи по обработке запросов, отчётов, в т.ч. может решить нашу проблему. Вот если бы кларионовский ip-драйвер имел бы такую функциональность. Или как? Есть у кого опыт работы с ip-драйвером?
We are hard at work… for you. 
- Игорь Столяров
- Ветеран движения
- Сообщения: 8239
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 34 раза
- Поблагодарили: 105 раз
Как спрятать БД TPS в сети ?
Для C10 драйвер IP вообще существует в природе ?
За теми, кто отстал, не возвращаться !
Кодекс
-
gopstop2007
- Полимат
- Сообщения: 1840
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 29 раз
- Поблагодарили: 10 раз
Как спрятать БД TPS в сети ?
а если их хранить в блобах?kreator писал(а):У нас админы тоже такой вопрос подняли, но не для БД, а хранилица документов и фотографий
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Как спрятать БД 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, изменение аттрибутов физических файлов баз данных
на скрытый, системный и держать файлы баз данных постоянно открытыми для невозможности удаления
Для Actian (Pervasive) - только необходимо данное решение состыковать с приложением Clarion,
вот возможное решение - http://wi.tensor.ru/wiki/index.php/Орга ... вого_диска
Последний раз редактировалось Developer 19 Май 2016, 21:21, всего редактировалось 3 раза.
С Уважением, Developer
- Игорь Столяров
- Ветеран движения
- Сообщения: 8239
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 34 раза
- Поблагодарили: 105 раз
Как спрятать БД TPS в сети ?
А что стыковать-то ? Это просто драйвер Pervasive.SQL.
По указанной ссылке написано, как БД СБИС переносится с Btrieve на P.SQL.
Я пробовал работать с Pervasive.SQL. Драйвер Clarion для этой БД достаточно грустный, в отличии от MS SQL.
Сама инструментальные средства работы с БД в P.SQL - убогие (по крайне в версии 9.XX)
Перенести БД с Btrieve на P.SQL - только вручную писать создание таблиц и переливать через код списки.
За теми, кто отстал, не возвращаться !
Кодекс
Как спрятать БД TPS в сети ?
Вопрос практического применения - возможно ли работа без сетевого диска в 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 присутствует - необходим ли к нему сетевой ресурс?
Необходимо протестировать этот режим
Кто работает вплотную с Pervasive SQL 10S P3 - есть ли в нём режим без сетевого ресурса -
только доступ по IP
Мне Pervasive SQL не очень нравиться, однако его используем - и возникает переодически вопрос -
как оградить файлы баз данных Pervasive SQL от несанкционированного доступа и повреждения (удаления)?
К сожалению, больше никакой информации по работе по протоколу IP без сетевого русурса
для сервера Pervasive SQL 10SP3 не обнаружил
Вот ссылка на документ Pervasive SQL 10SP3 http://www.pervasive.com/Portals/55/doc ... 10_SP3.pdf - поддержка TCP/IP присутствует - необходим ли к нему сетевой ресурс?
Необходимо протестировать этот режим
Кто работает вплотную с Pervasive SQL 10S P3 - есть ли в нём режим без сетевого ресурса -
только доступ по IP
С Уважением, Developer
-
kreator
- ✯ Ветеран ✯
- Сообщения: 5233
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Как спрятать БД TPS в сети ?
Пока не рассматривается вариант, планируется очень большое хранилище. Сейчас выделяют под это дело 5Тб. На несколько лет хватит, но вот иметь такую базу? Хотя почему нет? Firebird (БД на нём) позволяет сделать отдельный файл для таких случаев. Только не будет доступа через проводник, это плохо, надо интерфейс писать для всех.gopstop2007 писал(а): kreator писал(а):У нас админы тоже такой вопрос подняли, но не для БД, а хранилица документов и фотографий
а если их хранить в блобах?
We are hard at work… for you. 
-
gopstop2007
- Полимат
- Сообщения: 1840
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 29 раз
- Поблагодарили: 10 раз
Как спрятать БД TPS в сети ?
с другой стороны будет разграничение прав на просмотр определенных фото и документовkreator писал(а):Пока не рассматривается вариант, планируется очень большое хранилище. Сейчас выделяют под это дело 5Тб. На несколько лет хватит, но вот иметь такую базу? Хотя почему нет? Firebird (БД на нём) позволяет сделать отдельный файл для таких случаев. Только не будет доступа через проводник, это плохо, надо интерфейс писать для всех.
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
