VFP и Firebird | |
---|---|
DmitryKn Сообщений: 300 Дата регистрации: 06.04.2022 |
Доброго всем дня!
Размышляю, как бы использовать VFP и Fireberd (далее - ФБ), полная некомпетентность порождает тучу вопросов, прошу меня понять и простить за невежество. Как я понимаю, с ФБ тут очень многие знакомы, поделитесь, пожалуйста, знанием. Как вообще соединиться с бд в ФБ ? Я сделал таблицу в ФБ, заполнил ее, сделал в моем приложении тестовую форму, типа справочника, почитал немного про ОДВС, и вот множество вопросов. Как будут сохраняться данные в ФБ? Курсор на форме мы заполнили, а как в базу перенести? Читал страшный холивар 17-го года , где правильнее разместить бизнес-логику, в БД или в приложении. А что именно под БЛ понимается? Т.е. был раньше на форме метод save, теперь надо по кнопке сэйв вызывать эту процедуру в БД , или я не так понял? Само "клиент-сервер" - можно это все держать на одном физическом сервере, а с 10-то пользователей будет через RDP работать на нем, или обязательно приложение каждому на его машину выносить? Может найдутся добрые люди и дадут на рабочую форму, связывающуюся с бд на ФБ , посмотреть? Я делаю все для себя, ничего не продаю, да и учусь, можно сказать, для себя, да и сам я не местный... |
Re: VFP и Firebird | |
---|---|
dimag Сообщений: 464 Откуда: Одинцово Дата регистрации: 17.12.2002 |
|
Re: VFP и Firebird | |
---|---|
DmitryKn Сообщений: 300 Дата регистрации: 06.04.2022 |
Спасибо! Правда, я ведь не спрашивал, что почитать, но все равно, спасибо...
|
Re: VFP и Firebird | |
---|---|
dimag Сообщений: 464 Откуда: Одинцово Дата регистрации: 17.12.2002 |
ClientServerVFP.pdf начни читать с 57 это твой случай ------------------ Глупость - это не отсутствие ума, это такой ум. |
Re: VFP и Firebird | |
---|---|
PaulWist Автор Сообщений: 14625 Дата регистрации: 01.04.2004 |
Почему ФБ (всё таки экзотика)? MSSQL Express/PG вполне рабочии решения.
По простому: 1. В проекте фокса создать БД 2. В БД фокса создать соединение с "взрослой" СУБД 3. В БД фокса создать Remote View При работу с RV устанавливать 5 буфферизацию. Всё, дальше можно работать как с таблицами фокса.
1. Уже известный TableUpdate() 2. Пока на холивар не обращай внимание, если "дойдёшь" до более-менее крупного проекта, то тогда понадобиться. 3. БЛ - это логика самой БД, те база данных не должна дать добавить в накладную ссылку на товар, которого нет в справочнике товаров, или вставить сумму в таблицу меньше нуля, итд. Так же это, логика бизнеса, например нельзя во вчерашним днём выписать накладную (это пример ), или продать алкоголь челу младше 21 года. 4. Про ХП пока не заморачивайся. А так, да по хорошему в ХП передаются данные с клиента и уже она делает проверки и сохраняет данные.
1. Да, можно на одном компе держать и клиента и сервер, но не обязательно. 2. Не важно где расположен клиент и как он подключается, можно иметь один выделенный сервер с БД и выделенный сервер с RDP с которого клиенты будут "ходить" в БД.
Тут сложность, как правило, форма завязана на "свой" фреймворк, поэтому в чистом виде форма работать не будет. Начни с простого, создай табличку в БД, подсоединись, получи данные на клиента, нарисуй форму - дальше по мере движения возникнут вопросы на которые форум попытается ответить. ------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
Re: VFP и Firebird | |
---|---|
ssa Сообщений: 13008 Откуда: Москва Дата регистрации: 23.03.2005 |
А не знающим ФБ нельзя? ФБ настолько оригинален в плане общения с клиентом, что знания других СУБД не пригодятся? Цитата:Точно так же, как и с любой другой СУБД - используя стандартизированные интерфейсы и протоколы. Цитата:И чем при этом пользовался? Цитата:А конкретнее можно? Какие вопросы возникли? Цитата:Командами сохранения. В соответствии с выбранной технологией работы. Например, при использовании курсорадаптеров достаточно команды TableUpdate(). Цитата:Вот Tableupdate() - это не БЛ, а вот вся та обертка вокруг неё в виде всяких проверок/вычислений/перевычислений и т.д. - БЛ. Цитата:Надо выполнять действия по сохранению. А какие именно уже решать разработчику. Цитата:Можно. Цитата:А при чем тут RDP? Цитата:С клиентом обычно так и делается. А серверная часть обычно на сервере. Хм, есть подозрение, что некоторые понимают термин "клиент-серверное приложение" как-то своебразно... Цитата:А с другой БД нельзя? Думаешь, для ФБ она будет какая-то совершенно особенная и нисколько не похожая на формы для работы с другими БД? ------------------ Лень - это неосознанная мудрость. |
Re: VFP и Firebird | |
---|---|
AndyNigmatec Сообщений: 1574 Откуда: Волгоград Дата регистрации: 28.06.2015 |
Я использую такую связку - нет проблем )))
соединение - через ODBC-драйвер - его нужно устанавливать на каждую машину которая будет работать с бд Никаких фреймворков не пользую - все на SQLCONNECT-SQLEXEC работает создавать/конструировать саму БД firebird (да и запросы-процедуры тестить) мне удобно в IBExpert - бесплатная среда для бывшего СССР если что - отвечу конкретнее)) |
Re: VFP и Firebird | |
---|---|
AndyNigmatec Сообщений: 1574 Откуда: Волгоград Дата регистрации: 28.06.2015 |
вот упрощенные примеры:
для подключения/отключения под свои нужды делал себе простецкий класс-обертку (приложил) Исправлено 1 раз(а). Последнее : AndyNigmatec, 17.03.23 16:32 |
Re: VFP и Firebird | |
---|---|
DmitryKn Сообщений: 300 Дата регистрации: 06.04.2022 |
ну, мне показалось, многие так работают тут, и безплатно, к тому же. Смотрел в сторону MySQL 8 , но подумал, может закроют доступ отсюда и всякое такое, "известные события". Да и вообще, как выбирать, если сам ничего не знаю, а сколько знающих, столько и мнений. Хоть с чего-то , но начать, так решил.
да можно, конечно, только рад буду. А пользовался RedExpert, создал таблицу, потом из фокса в xlx, потом в scv, потом затянул в ФБ, данные вроде те же, правильные. А так исторически сложилось, подключаемся через рдп на терминал, а на нем уже вся наша прелесть, и VFP, и 1С и всякое другое. Рабочие места только полистать Интернет, почта и зайти в терминал. Конечно давайте!
Спасибо! А вопросов будет, похоже.
Пишет Connection error [ODBC Fireberd driver] File Database is not found Сам файл в папке, почему-то без какого-либо расширения, может чего-то в RedExpert недокомпилировал |
Re: VFP и Firebird | |
---|---|
AndyNigmatec Сообщений: 1574 Откуда: Волгоград Дата регистрации: 28.06.2015 |
для начала на машине установите ODBC-драйвер выше написал пример со строкой соединения раз тестите локально - то напишите полный путь к файлу бд (у огнептицы приняты расширения файлов .gdb или .fdb) cConnectionString='DRIVER={Firebird/InterBase(r) driver};DBNAME=C:\folder\....file.gdb;UID=XXXXXXUSER;PWD=XXXXXXXX;CHARSET=win1251;DIALECT=3' также в FB существует такое понятие как DIALECT базы - когда вы ее создавали - то указывали (это 1 или 3) Исправлено 1 раз(а). Последнее : AndyNigmatec, 17.03.23 16:45 |
Re: VFP и Firebird | |
---|---|
AndyNigmatec Сообщений: 1574 Откуда: Волгоград Дата регистрации: 28.06.2015 |
ODBC-драйвер использую такой - Firebird_ODBC_2.0.1.152_Win32.exe - беспроблемный он
если не найдете, то могу закинуть куда-нить |
Re: VFP и Firebird | |
---|---|
DmitryKn Сообщений: 300 Дата регистрации: 06.04.2022 |
У них есть все на сайте. Скачивал 64-разрядный.
Может быть одновременно и DBC и ФБ? Вроде Verify connetion подключился к ФБ, решил сохранить и перекомпилировать приложение, ошибка при компиляции и dbc поломалась сразу. я в своем приложении хотел тестовую формочку сделать и на ней с ФБ пробовать, или надо делать отдельное приложение ? |
Re: VFP и Firebird | |
---|---|
AndyNigmatec Сообщений: 1574 Откуда: Волгоград Дата регистрации: 28.06.2015 |
и все-таки - очень рекомендую IBExpert, раз будете конструировать/пилить саму базу - то мастхэв
|
Re: VFP и Firebird | |
---|---|
AndyNigmatec Сообщений: 1574 Откуда: Волгоград Дата регистрации: 28.06.2015 |
64-разрядный не пойдет, фокс-то 32 разрядный, соотв. и драйвер нужно ставить 32
|
Re: VFP и Firebird | |
---|---|
AndyNigmatec Сообщений: 1574 Откуда: Волгоград Дата регистрации: 28.06.2015 |
почему не может - все возможно ))) код подключения к firebird никак на компиляции приложения не сказывается |
Re: VFP и Firebird | |
---|---|
DmitryKn Сообщений: 300 Дата регистрации: 06.04.2022 |
А саму ФБ тоже 32-разрядную надо? |
Re: VFP и Firebird | |
---|---|
AndyNigmatec Сообщений: 1574 Откуда: Волгоград Дата регистрации: 28.06.2015 |
не, сам FB ставьте лучше 64 (система же у вас 64 как я понимаю) - к драйверу и фоксу сам сервер не имеет отношения.
З.Ы. firebird кстати у меня работал и так и эдак, и на виде и на линухе, но это так, к слову |
Re: VFP и Firebird | |
---|---|
AndyNigmatec Сообщений: 1574 Откуда: Волгоград Дата регистрации: 28.06.2015 |
Давайте разложим немного по полочкам:
1. Сервер БД - это в вашем случае firebird, он (грубо говоря) живет независимо от вашего приложения - это "движок", он работает даже если к нему никто не подключен. запускается он соответствующими службами при старте системы (по умолчанию) - его можно остановить/перезапустить как службу. 2. ваше приложение - это клиент, он живет "отдельно" от сервера 3. только когда вы подключаетесь из приложения - эти две сущности встречаютя (по любви ессно))) 4. но сервер, он (она скорее в нашем изложении) "дамочка" такая - готова обслужить кучу "клиентов", причем одновременно)) кратко о клиент-сервер При этом клиент не "держит открытым" никакие таблицы на сервере, весь обмен выполняется через запросы. по поводу логики - то тут много копий сломали где ее лучше хранить - в бд или в приложении, лично у меня сделано по удобству как я его вижу - часть в бд (в виде процедур/триггеров), часть в приложении. Здесь нужно понимать что процедура на сервере при работе нагрузит только сервер, а клиенту уйдет только результат, а если какой-то расчет целиком в приложении - то он нагрузит в основном клиентскую машину (т.е. приложение), а сервер только чуть (поскольку данные то ему нужны). Исправлено 1 раз(а). Последнее : AndyNigmatec, 17.03.23 18:47 |
Re: VFP и Firebird | |
---|---|
DmitryKn Сообщений: 300 Дата регистрации: 06.04.2022 |
интересный взгляд |
Re: VFP и Firebird | |
---|---|
AndyNigmatec Сообщений: 1574 Откуда: Волгоград Дата регистрации: 28.06.2015 |
дополнил там чуть про размещение логики
|
© 2000-2024 Fox Club  |