Автор | Сообщение |
|
| |
Пост N: 14
Зарегистрирован: 22.09.09
|
|
Отправлено: 17.02.11 12:38. Заголовок: Harbour + SQL
Начальство "наклоняет" переходить на MS SQL. В связи с этим вопросы: 1. Как с этим работает Harbour? 2. Есть ли какие-нибудь "грабли"? хитрости? 3. М.б. кто посоветует альтернативу? Речь идет о переводе всех баз данных предприятия (бухгалтерия, кадры, планово-экономический отдел). Все программы самописные - Clipper 5.2 (DOS), Clipper 5.2 + FW 1.9, Harbour + MiniGUI. О покупке чего-либо речь не идет. Начальство ратует за MS SQL Express Edition или "бесплатный брендовый аналог". Хотелось бы услышать ваше мнение.
|
|
|
Ответов - 136
, стр:
1
2
3
4
5
6
7
All
[только новые]
|
|
|
| |
Пост N: 145
Зарегистрирован: 11.06.10
|
|
Отправлено: 17.02.11 13:03. Заголовок: А какие аргументы у ..
А какие аргументы у начальства за MS SQL и против dbf?
|
|
|
|
| постоянный участник
|
Пост N: 1683
Зарегистрирован: 12.09.06
|
|
Отправлено: 17.02.11 13:14. Заголовок: S-A-N пишет: Началь..
S-A-N пишет: цитата: | Начальство "наклоняет" переходить на MS SQL |
| Отстой !!! Выйгрыш этой базы, если будет за 1000 пользователей .... По трудозатратам лучше всего переходить на ADS - опять покупка. Но лучше всего на LetoDB: бесплатно, минимум правки кода, и т.д. - читать соответствующую ветку форума ! Еще один вариант, это терминальный запуск приложения. Переделки программы вообще ноль. Преимущества - быстродествие программы и возможность удаленной работы через интернет. Просто до безобразия. Читай здесь на форуме, я писал об этом.
|
|
|
|
| |
Пост N: 15
Зарегистрирован: 22.09.09
|
|
Отправлено: 17.02.11 13:15. Заголовок: Да какие м.б. аргуме..
Да какие м.б. аргументы, если эти люди всю жизнь занимаются конструкторской работой и далеки от IT-области: - dbf - это каменный век - надо переходить на современные технологии - ну и, естественно, MS SQL как "самая современная технология". Единственное, что дозволили - предложить "достойную" альтернативу.
|
|
|
|
| |
Пост N: 16
Зарегистрирован: 22.09.09
|
|
Отправлено: 17.02.11 13:23. Заголовок: Andrey пишет: Но лу..
Andrey пишет: Ты, наверное, не обратил внимание на главное: цитата: | бесплатный брендовый аналог |
| Главный аргумент - если ты (в смысле - я) уйдешь, где мы найдем специалиста, который сможет разобраться во всех этих dbf-файлах. Надо внедрять то, что знают ВСЕ. Это они еще о языке программирования молчат.
|
|
|
|
| |
Пост N: 146
Зарегистрирован: 11.06.10
|
|
Отправлено: 17.02.11 13:28. Заголовок: S-A-N пишет: Надо в..
S-A-N пишет: цитата: | Надо внедрять то, что знают ВСЕ. |
| Это они на 1с намекают? Или хотят выгнать?
|
|
|
|
| |
Пост N: 17
Зарегистрирован: 22.09.09
|
|
Отправлено: 17.02.11 13:31. Заголовок: AlexMyr пишет: Это ..
AlexMyr пишет: Ну, пока не настолько все плохо. Ни о первом, ни о втором речь не идет.
|
|
|
|
| |
Пост N: 147
Зарегистрирован: 11.06.10
|
|
Отправлено: 17.02.11 13:37. Заголовок: S-A-N пишет: Ну, по..
S-A-N пишет: цитата: | Ну, пока не настолько все плохо. |
| Тогда держитесь . Контраргументы - смотрим на сайте мелких цену на MS SQL Express Edition с необходимым количеством лицензий, плюс выбираем мощный сервак, плюс доработка сети на большую производительность, плюс цена на microsoft server 2008, плюс терминальный сервер с необходимым количеством лицензий, показывем суму начальству и смотрим на реакцию
|
|
|
|
| |
Пост N: 148
Зарегистрирован: 11.06.10
|
|
Отправлено: 17.02.11 13:46. Заголовок: S-A-N пишет: или ..
S-A-N пишет: цитата: | или "бесплатный брендовый аналог" |
| смотрим в сторону Firebird (__http://www.firebirdsql.org/) или MySQL (__http://www.mysql.com/)
|
|
|
|
| |
Пост N: 18
Зарегистрирован: 22.09.09
|
|
Отправлено: 17.02.11 13:59. Заголовок: AlexMyr пишет: смот..
AlexMyr пишет: цитата: | смотрим в сторону Firebird или MySQL |
| Я посматривал в эту сторону. В связи с этим у меня вопрос: что, на ваш взгляд, предпочтительнее? И с чем у Harbour лучше связка?
|
|
|
|
| |
Пост N: 149
Зарегистрирован: 11.06.10
|
|
Отправлено: 17.02.11 14:05. Заголовок: В contrib есть тесты..
В contrib есть тесты и для первого и для второго, нужно самому ставить и смотреть. А так читая maillist harbour, то вроде MySQL более доработан (хотя могу ошибаться).
|
|
|
|
| |
Пост N: 19
Зарегистрирован: 22.09.09
|
|
Отправлено: 17.02.11 14:24. Заголовок: Люди! Кто-нибудь раб..
Люди! Кто-нибудь работает с MySQL? Поделитесь впечатлениями.
|
|
|
|
|
| постоянный участник
|
Пост N: 461
Зарегистрирован: 25.12.07
|
|
Отправлено: 17.02.11 14:59. Заголовок: AlexMyr пишет: Конт..
AlexMyr пишет: цитата: | Контраргументы - смотрим на сайте мелких цену на MS SQL Express Edition с необходимым количеством лицензий, плюс выбираем мощный сервак, плюс доработка сети на большую производительность, плюс цена на microsoft server 2008, плюс терминальный сервер с необходимым количеством лицензий, показывем суму начальству и смотрим на реакцию |
| Да уж, такие контраргументы прокатят, если начальство действительно "не бум-бум" MS SQL Express Edition - это БЕСПЛАТНАЯ версия полного сервера, ограничения: 1 поддерживаемый процессор (но может быть установлен на любой сервер) 1 Гб адресуемой памяти 4 Гб максимальный размер базы (10 Гб для версии SQL Server 2008 R2) Для многих задач вполне хватит И работать будет даже на просто приличном компе. AlexMyr пишет: цитата: | плюс доработка сети на большую производительность |
| Ну а это то зачем? Файл-серверный dbf "жрет" в этом смысле на много порядков больше, собственно, это одна из причин отказа от него и перехода на клиент-сервер AlexMyr пишет: цитата: | плюс терминальный сервер с необходимым количеством лицензий, |
| Ну а это то клиент-серверу нафига нужно то? S-A-N пишет: цитата: | цитата: смотрим в сторону Firebird или MySQL Я посматривал в эту сторону. В связи с этим у меня вопрос: что, на ваш взгляд, предпочтительнее? И с чем у Harbour лучше связка? |
| Вот с последнего вопроса про связку лучше и начать анализ. Если же просто про сервера, то Firebird - выбор неплохой, если пользователей в пределе сотни. Сколько, кстати, пользователей в системе? И каков прогноз на переспективу? А вообще, в принципе, такой переход, это переписывание почти всей программы, не боитесь?
|
|
|
|
| moderator
|
Пост N: 172
Зарегистрирован: 11.02.10
|
|
Отправлено: 17.02.11 15:09. Заголовок: AlexMyr пишет: врод..
AlexMyr пишет: цитата: | вроде MySQL более доработан |
| Да, у меня тоже сложилось подобное представление. Для начального знакомства с MySQL рекомендую изучить примеры из поставки MiniGUI в базовой и расширенной папках. Кстати, если использовать SQLMIX, то возможно работать с MySQL через xBase-синтаксис (см. пример ниже). цитата: | /* * MINIGUI - Harbour Win32 GUI library Demo * * Copyright 2002-2008 Roberto Lopez <harbourminigui@gmail.com> *http://harbourminigui.googlepages.com/ * * Copyright 2008 Grigory Filatov <gfilatov@inbox.ru> * * Based on RDDSQL sample included in Harbour distribution */ #include "minigui.ch" #include "dbinfo.ch" #include "error.ch" #define DBI_QUERY 1001 #define RDDI_CONNECT 1001 #define RDDI_DISCONNECT 1002 #define RDDI_EXECUTE 1003 #define RDDI_ERROR 1004 #define RDDI_ERRORNO 1005 #define RDDI_NEWID 1006 #define RDDI_AFFECTEDROWS 1007 #define RDDI_QUERY 1008 ANNOUNCE RDDSYS REQUEST SDDMY, SQLMIX MEMVAR memvarcountryname MEMVAR memvarcountryresidents *--------------------------------------------------------* Function Main() *--------------------------------------------------------* RDDSETDEFAULT( "SQLMIX" ) IF RDDINFO( RDDI_CONNECT, {"MYSQL", "localhost", "root",, "test"} ) == 0 MsgStop("Unable connect to the server!", "Error") Return nil ENDIF DEFINE WINDOW Form_1 ; AT 0,0 ; WIDTH 640 HEIGHT 480 ; TITLE 'MiniGUI SQL Database Driver Demo' ; MAIN NOMAXIMIZE ; ON INIT OpenTable() ; ON RELEASE CloseTable() DEFINE MAIN MENU DEFINE POPUP 'Test' MENUITEM 'Add record' ACTION AddRecord('ARG', 'Argentina', 38740000) SEPARATOR ITEM "Exit" ACTION ThisWindow.Release() END POPUP END MENU @ 10,10 BROWSE Browse_1 ; WIDTH 610 ; HEIGHT 390 ; HEADERS { 'Code' , 'Name' , 'Residents' } ; WIDTHS { 50 , 160 , 100 } ; WORKAREA country ; FIELDS { 'country->Code' , 'country->Name' , 'country->Residents' } ; JUSTIFY { BROWSE_JTFY_LEFT, BROWSE_JTFY_LEFT, BROWSE_JTFY_RIGHT } ; EDIT ; VALID { , { || sqlupdate(2) } , { || sqlupdate(3) } } ; READONLY { .T. , .F. , .F. } END WINDOW CENTER WINDOW Form_1 ACTIVATE WINDOW Form_1 Return nil *--------------------------------------------------------* Procedure OpenTable *--------------------------------------------------------* If CreateTable() DBUSEAREA( .T.,, "SELECT * FROM country", "country" ) INDEX ON FIELD->RESIDENTS TAG residents TO country GO TOP Else Form_1.Release() EndIf Return *--------------------------------------------------------* Procedure CloseTable *--------------------------------------------------------* DBCLOSEALL() Return *--------------------------------------------------------* Procedure AddRecord(cCode, cName, nResidents) *--------------------------------------------------------* If RDDINFO(RDDI_EXECUTE, "INSERT INTO country values ('" + cCode + "', '" + cName + "', " + ltrim(str(nResidents)) + ")") // MsgInfo( RDDINFO(RDDI_AFFECTEDROWS), "Count of Affected Rows" ) APPEND BLANK REPLACE CODE WITH cCode, ; NAME WITH cName, ; RESIDENTS WITH nResidents Form_1.Browse_1.Value := country->(RecNo()) Form_1.Browse_1.Refresh Else MsgStop("Can't append record to table Country!", "Error") EndIf Return *--------------------------------------------------------* Function sqlupdate(nColumn) *--------------------------------------------------------* Local nValue := Form_1.Browse_1.Value Local cCode, cField, cNewValue If nColumn == 2 cField := "Name" cNewValue := "'" + Memvar.Country.Name + "'" ElseIf nColumn == 3 cField := "Residents" cNewValue := ltrim(str(Memvar.Country.Residents)) EndIf GO nValue cCode := "'" + country->CODE + "'" If ! RDDINFO(RDDI_EXECUTE, "UPDATE country SET " + cField + " = " + cNewValue + " WHERE CODE = " + cCode) MsgStop("Can't update record in table Country!", "Error") Return .F. EndIf Return .T. *--------------------------------------------------------* Function CreateTable *--------------------------------------------------------* Local ret := .T. RDDINFO(RDDI_EXECUTE, "DROP TABLE country") If RDDINFO(RDDI_EXECUTE, "CREATE TABLE country (CODE char(3), NAME char(50), RESIDENTS int(11))") If ! RDDINFO(RDDI_EXECUTE, "INSERT INTO country values ('LTU', 'Lithuania', 3369600), ('USA', 'United States of America', 305397000), ('POR', 'Portugal', 10617600), ('POL', 'Poland', 38115967), ('AUS', 'Australia', 21446187), ('FRA', 'France', 64473140), ('RUS', 'Russia', 141900000)") MsgStop("Can't fill table Country!", "Error") ret := .F. EndIf Else MsgStop("Can't create table Country!", "Error") ret := .F. EndIf Return ret |
|
|
|
|
|
| |
Пост N: 150
Зарегистрирован: 11.06.10
|
|
Отправлено: 17.02.11 15:12. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | MS SQL Express Edition - это БЕСПЛАТНАЯ версия полного сервера |
| Ну не лазил я на сайт мелких и не смотрел что это за версия, у самого крутится кажется msde (в системе контроля доступа). Sergey Spirin пишет: цитата: | AlexMyr пишет: цитата: плюс доработка сети на большую производительность Ну а это то зачем? |
| Да чтоб начальство не напрягало через пол года за малую пропускную способность сети. Sergey Spirin пишет: цитата: | Ну а это то клиент-серверу нафига нужно то? |
| А это уже можно юзеров перевести в терминале на работу с офисными програмами (у кого компы слабые) на будущее .
|
|
|
|
| |
Пост N: 20
Зарегистрирован: 22.09.09
|
|
Отправлено: 17.02.11 15:42. Заголовок: Sergey Spirin пишет:..
Sergey Spirin пишет: цитата: | Сколько пользователей в системе? И каков прогноз на переспективу? |
| Пользователей около 50 человек. В перспективе сказать трудно, но, в любом случае, до 100 человек. цитата: | Это переписывание почти всей программы, не боитесь? |
| Я сейчас все программы перевожу на Harbour + MiniGUI. В процессе перевода меняется и интерфейс и частично логика, т.к. некоторые из них написаны еще в 80-х - 90-х годах прошлого века (страшновато звучит
|
|
|
|
| |
Пост N: 151
Зарегистрирован: 11.06.10
|
|
Отправлено: 17.02.11 15:52. Заголовок: S-A-N пишет: Пользо..
S-A-N пишет: цитата: | Пользователей около 50 человек. В перспективе сказать трудно, но, в любом случае, до 100 человек. |
| Sergey Spirin пишет: цитата: | Для многих задач вполне хватит И работать будет даже на просто приличном компе. |
| Вот уже сомневаюсь что на просто приличном компе потянет такое количество, хотя если работать поочереди человек по 5, тогда...
|
|
|
|
| |
Пост N: 21
Зарегистрирован: 22.09.09
|
|
Отправлено: 17.02.11 15:57. Заголовок: Из всего выше сказан..
Из всего выше сказанного и на основе моих субъективных впечатлений прихожу к выводу, что с MS SQL связываться не стоит. Останавливаюсь на двух вариантах - Firebird и MySQL. Далее - из моих личных (м.б. ошибочных) впечатлений где-то 2-х летней давности: Firebird вроде как лучше проработан и понадежнее MySQL, но связка с Harbour похуже будет. Прошу высказаться людей с опытом промышленной эксплуатации этих серверов в связке с Harbour. PS В моем предыдущем посте описка - вместо пользователей около 50 человек следует читать "20". При этом, задачи, выполняемые ими одновременно, слабо связаны. По крайней мере, на данный момент.
|
|
|
|
| |
Пост N: 152
Зарегистрирован: 11.06.10
|
|
Отправлено: 17.02.11 16:03. Заголовок: S-A-N пишет: Прошу ..
S-A-N пишет: цитата: | Прошу высказаться людей с опытом промышленной эксплуатации этих серверов в связке с Harbour. |
| Если бы были такие, то уже сказали бы, а так...
|
|
|
|
| |
Пост N: 22
Зарегистрирован: 22.09.09
|
|
Отправлено: 17.02.11 16:08. Заголовок: Тогда другой вопрос ..
Тогда другой вопрос - кто-нибудь работает с БД, отличными от dbf? Отпишитесь.
|
|
|
|
| |
Пост N: 153
Зарегистрирован: 11.06.10
|
|
Отправлено: 17.02.11 16:15. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | Для начального знакомства с MySQL рекомендую изучить примеры из поставки MiniGUI в базовой и расширенной папках. |
| Это смотрели?
|
|
|
Ответов - 136
, стр:
1
2
3
4
5
6
7
All
[только новые]
|
|