VFP и Firebird | |
---|---|
DmitryKn Автор Сообщений: 276 Дата регистрации: 06.04.2022 |
Доброго всем дня!
Размышляю, как бы использовать VFP и Fireberd (далее - ФБ), полная некомпетентность порождает тучу вопросов, прошу меня понять и простить за невежество. Как я понимаю, с ФБ тут очень многие знакомы, поделитесь, пожалуйста, знанием. Как вообще соединиться с бд в ФБ ? Я сделал таблицу в ФБ, заполнил ее, сделал в моем приложении тестовую форму, типа справочника, почитал немного про ОДВС, и вот множество вопросов. Как будут сохраняться данные в ФБ? Курсор на форме мы заполнили, а как в базу перенести? Читал страшный холивар 17-го года , где правильнее разместить бизнес-логику, в БД или в приложении. А что именно под БЛ понимается? Т.е. был раньше на форме метод save, теперь надо по кнопке сэйв вызывать эту процедуру в БД , или я не так понял? Само "клиент-сервер" - можно это все держать на одном физическом сервере, а с 10-то пользователей будет через RDP работать на нем, или обязательно приложение каждому на его машину выносить? Может найдутся добрые люди и дадут на рабочую форму, связывающуюся с бд на ФБ , посмотреть? Я делаю все для себя, ничего не продаю, да и учусь, можно сказать, для себя, да и сам я не местный... ![]() |
Re: VFP и Firebird | |
---|---|
dimag Сообщений: 450 Откуда: Одинцово Дата регистрации: 17.12.2002 |
|
Re: VFP и Firebird | |
---|---|
DmitryKn Автор Сообщений: 276 Дата регистрации: 06.04.2022 |
Спасибо! Правда, я ведь не спрашивал, что почитать, но все равно, спасибо...
![]() |
Re: VFP и Firebird | |
---|---|
dimag Сообщений: 450 Откуда: Одинцово Дата регистрации: 17.12.2002 |
ClientServerVFP.pdf начни читать с 57 это твой случай ------------------ Глупость - это не отсутствие ума, это такой ум. ![]() |
Re: VFP и Firebird | |
---|---|
PaulWist Сообщений: 14433 Дата регистрации: 01.04.2004 |
Почему ФБ (всё таки экзотика)? MSSQL Express/PG вполне рабочии решения.
По простому: 1. В проекте фокса создать БД 2. В БД фокса создать соединение с "взрослой" СУБД 3. В БД фокса создать Remote View При работу с RV устанавливать 5 буфферизацию. Всё, дальше можно работать как с таблицами фокса.
1. Уже известный TableUpdate() 2. Пока на холивар не обращай внимание, если "дойдёшь" до более-менее крупного проекта, то тогда понадобиться. 3. БЛ - это логика самой БД, те база данных не должна дать добавить в накладную ссылку на товар, которого нет в справочнике товаров, или вставить сумму в таблицу меньше нуля, итд. Так же это, логика бизнеса, например нельзя во вчерашним днём выписать накладную (это пример ![]() 4. Про ХП пока не заморачивайся. А так, да по хорошему в ХП передаются данные с клиента и уже она делает проверки и сохраняет данные.
1. Да, можно на одном компе держать и клиента и сервер, но не обязательно. 2. Не важно где расположен клиент и как он подключается, можно иметь один выделенный сервер с БД и выделенный сервер с RDP с которого клиенты будут "ходить" в БД.
Тут сложность, как правило, форма завязана на "свой" фреймворк, поэтому в чистом виде форма работать не будет. Начни с простого, создай табличку в БД, подсоединись, получи данные на клиента, нарисуй форму - дальше по мере движения возникнут вопросы на которые форум попытается ответить. ------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) ![]() |
Re: VFP и Firebird | |
---|---|
ssa Сообщений: 12923 Откуда: Москва Дата регистрации: 23.03.2005 |
А не знающим ФБ нельзя? ФБ настолько оригинален в плане общения с клиентом, что знания других СУБД не пригодятся? Цитата:Точно так же, как и с любой другой СУБД - используя стандартизированные интерфейсы и протоколы. Цитата:И чем при этом пользовался? Цитата:А конкретнее можно? Какие вопросы возникли? Цитата:Командами сохранения. В соответствии с выбранной технологией работы. Например, при использовании курсорадаптеров достаточно команды TableUpdate(). Цитата:Вот Tableupdate() - это не БЛ, а вот вся та обертка вокруг неё в виде всяких проверок/вычислений/перевычислений и т.д. - БЛ. Цитата:Надо выполнять действия по сохранению. А какие именно уже решать разработчику. Цитата:Можно. Цитата:А при чем тут RDP? Цитата:С клиентом обычно так и делается. А серверная часть обычно на сервере. Хм, есть подозрение, что некоторые понимают термин "клиент-серверное приложение" как-то своебразно... Цитата:А с другой БД нельзя? Думаешь, для ФБ она будет какая-то совершенно особенная и нисколько не похожая на формы для работы с другими БД? ------------------ Лень - это неосознанная мудрость. ![]() |
Re: VFP и Firebird | |
---|---|
AndyNigmatec Сообщений: 1383 Откуда: Волгоград Дата регистрации: 28.06.2015 |
Я использую такую связку - нет проблем )))
соединение - через ODBC-драйвер - его нужно устанавливать на каждую машину которая будет работать с бд Никаких фреймворков не пользую - все на SQLCONNECT-SQLEXEC работает создавать/конструировать саму БД firebird (да и запросы-процедуры тестить) мне удобно в IBExpert - бесплатная среда для бывшего СССР если что - отвечу конкретнее)) ![]() |
Re: VFP и Firebird | |
---|---|
AndyNigmatec Сообщений: 1383 Откуда: Волгоград Дата регистрации: 28.06.2015 |
вот упрощенные примеры:
для подключения/отключения под свои нужды делал себе простецкий класс-обертку (приложил) Исправлено 1 раз(а). Последнее : AndyNigmatec, 17.03.23 16:32 ![]() |
Re: VFP и Firebird | |
---|---|
DmitryKn Автор Сообщений: 276 Дата регистрации: 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 Сообщений: 1383 Откуда: Волгоград Дата регистрации: 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 Сообщений: 1383 Откуда: Волгоград Дата регистрации: 28.06.2015 |
ODBC-драйвер использую такой - Firebird_ODBC_2.0.1.152_Win32.exe - беспроблемный он
если не найдете, то могу закинуть куда-нить ![]() |
Re: VFP и Firebird | |
---|---|
DmitryKn Автор Сообщений: 276 Дата регистрации: 06.04.2022 |
У них есть все на сайте. Скачивал 64-разрядный.
Может быть одновременно и DBC и ФБ? Вроде Verify connetion подключился к ФБ, решил сохранить и перекомпилировать приложение, ошибка при компиляции и dbc поломалась сразу. я в своем приложении хотел тестовую формочку сделать и на ней с ФБ пробовать, или надо делать отдельное приложение ? ![]() |
Re: VFP и Firebird | |
---|---|
AndyNigmatec Сообщений: 1383 Откуда: Волгоград Дата регистрации: 28.06.2015 |
и все-таки - очень рекомендую IBExpert, раз будете конструировать/пилить саму базу - то мастхэв
![]() |
Re: VFP и Firebird | |
---|---|
AndyNigmatec Сообщений: 1383 Откуда: Волгоград Дата регистрации: 28.06.2015 |
64-разрядный не пойдет, фокс-то 32 разрядный, соотв. и драйвер нужно ставить 32
![]() |
Re: VFP и Firebird | |
---|---|
AndyNigmatec Сообщений: 1383 Откуда: Волгоград Дата регистрации: 28.06.2015 |
почему не может - все возможно ))) код подключения к firebird никак на компиляции приложения не сказывается ![]() |
Re: VFP и Firebird | |
---|---|
DmitryKn Автор Сообщений: 276 Дата регистрации: 06.04.2022 |
А саму ФБ тоже 32-разрядную надо? ![]() |
Re: VFP и Firebird | |
---|---|
AndyNigmatec Сообщений: 1383 Откуда: Волгоград Дата регистрации: 28.06.2015 |
не, сам FB ставьте лучше 64 (система же у вас 64 как я понимаю) - к драйверу и фоксу сам сервер не имеет отношения.
З.Ы. firebird кстати у меня работал и так и эдак, и на виде и на линухе, но это так, к слову ![]() |
Re: VFP и Firebird | |
---|---|
AndyNigmatec Сообщений: 1383 Откуда: Волгоград Дата регистрации: 28.06.2015 |
Давайте разложим немного по полочкам:
1. Сервер БД - это в вашем случае firebird, он (грубо говоря) живет независимо от вашего приложения - это "движок", он работает даже если к нему никто не подключен. запускается он соответствующими службами при старте системы (по умолчанию) - его можно остановить/перезапустить как службу. 2. ваше приложение - это клиент, он живет "отдельно" от сервера 3. только когда вы подключаетесь из приложения - эти две сущности встречаютя (по любви ессно))) 4. но сервер, он (она скорее в нашем изложении) "дамочка" такая - готова обслужить кучу "клиентов", причем одновременно)) кратко о клиент-сервер ![]() При этом клиент не "держит открытым" никакие таблицы на сервере, весь обмен выполняется через запросы. по поводу логики - то тут много копий сломали где ее лучше хранить - в бд или в приложении, лично у меня сделано по удобству как я его вижу - часть в бд (в виде процедур/триггеров), часть в приложении. Здесь нужно понимать что процедура на сервере при работе нагрузит только сервер, а клиенту уйдет только результат, а если какой-то расчет целиком в приложении - то он нагрузит в основном клиентскую машину (т.е. приложение), а сервер только чуть (поскольку данные то ему нужны). Исправлено 1 раз(а). Последнее : AndyNigmatec, 17.03.23 18:47 ![]() |
Re: VFP и Firebird | |
---|---|
DmitryKn Автор Сообщений: 276 Дата регистрации: 06.04.2022 |
интересный взгляд ![]() ![]() |
Re: VFP и Firebird | |
---|---|
AndyNigmatec Сообщений: 1383 Откуда: Волгоград Дата регистрации: 28.06.2015 |
дополнил там чуть про размещение логики
![]() |
© 2000-2023 Fox Club  |