On-line: alex_II, гостей 0. Всего: 1 [подробнее..]
АвторСообщение





Пост 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 или "бесплатный брендовый аналог".
Хотелось бы услышать ваше мнение.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 136 , стр: 1 2 3 4 5 6 7 All [только новые]





Пост N: 145
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 17.02.11 13:03. Заголовок: А какие аргументы у ..


А какие аргументы у начальства за MS SQL и против dbf?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1683
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 17.02.11 13:14. Заголовок: S-A-N пишет: Началь..


S-A-N пишет:

 цитата:
Начальство "наклоняет" переходить на MS SQL



Отстой !!! Выйгрыш этой базы, если будет за 1000 пользователей ....
По трудозатратам лучше всего переходить на ADS - опять покупка.
Но лучше всего на LetoDB: бесплатно, минимум правки кода, и т.д. - читать соответствующую ветку форума !

Еще один вариант, это терминальный запуск приложения. Переделки программы вообще ноль.
Преимущества - быстродествие программы и возможность удаленной работы через интернет. Просто до безобразия.
Читай здесь на форуме, я писал об этом.

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 15
Зарегистрирован: 22.09.09
ссылка на сообщение  Отправлено: 17.02.11 13:15. Заголовок: Да какие м.б. аргуме..


Да какие м.б. аргументы, если эти люди всю жизнь занимаются конструкторской работой и далеки от IT-области:
- dbf - это каменный век
- надо переходить на современные технологии
- ну и, естественно, MS SQL как "самая современная технология".
Единственное, что дозволили - предложить "достойную" альтернативу.

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 16
Зарегистрирован: 22.09.09
ссылка на сообщение  Отправлено: 17.02.11 13:23. Заголовок: Andrey пишет: Но лу..


Andrey пишет:


 цитата:
Но лучше всего на LetoDB



Ты, наверное, не обратил внимание на главное:


 цитата:
бесплатный брендовый аналог



Главный аргумент - если ты (в смысле - я) уйдешь, где мы найдем специалиста, который сможет разобраться во всех этих dbf-файлах. Надо внедрять то, что знают ВСЕ.
Это они еще о языке программирования молчат.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 146
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 17.02.11 13:28. Заголовок: S-A-N пишет: Надо в..


S-A-N пишет:

 цитата:
Надо внедрять то, что знают ВСЕ.


Это они на 1с намекают?
Или хотят выгнать?

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 17
Зарегистрирован: 22.09.09
ссылка на сообщение  Отправлено: 17.02.11 13:31. Заголовок: AlexMyr пишет: Это ..


AlexMyr пишет:


 цитата:
Это они на 1с намекают?



Ну, пока не настолько все плохо. Ни о первом, ни о втором речь не идет.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 147
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 17.02.11 13:37. Заголовок: S-A-N пишет: Ну, по..


S-A-N пишет:

 цитата:
Ну, пока не настолько все плохо.


Тогда держитесь .

Контраргументы - смотрим на сайте мелких цену на MS SQL Express Edition с необходимым количеством лицензий, плюс выбираем мощный сервак, плюс доработка сети на большую производительность, плюс цена на microsoft server 2008, плюс терминальный сервер с необходимым количеством лицензий, показывем суму начальству и смотрим на реакцию

Спасибо: 0 
ПрофильЦитата Ответить



Пост 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/)

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 18
Зарегистрирован: 22.09.09
ссылка на сообщение  Отправлено: 17.02.11 13:59. Заголовок: AlexMyr пишет: смот..


AlexMyr пишет:


 цитата:
смотрим в сторону Firebird или MySQL



Я посматривал в эту сторону. В связи с этим у меня вопрос: что, на ваш взгляд, предпочтительнее? И с чем у Harbour лучше связка?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 149
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 17.02.11 14:05. Заголовок: В contrib есть тесты..


В contrib есть тесты и для первого и для второго, нужно самому ставить и смотреть. А так читая maillist harbour, то вроде MySQL более доработан (хотя могу ошибаться).

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 19
Зарегистрирован: 22.09.09
ссылка на сообщение  Отправлено: 17.02.11 14:24. Заголовок: Люди! Кто-нибудь раб..


Люди! Кто-нибудь работает с MySQL? Поделитесь впечатлениями.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост 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 - выбор неплохой, если пользователей в пределе сотни. Сколько, кстати, пользователей в системе? И каков прогноз на переспективу?

А вообще, в принципе, такой переход, это переписывание почти всей программы, не боитесь?

Спасибо: 0 
ПрофильЦитата Ответить
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




Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 150
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 17.02.11 15:12. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
MS SQL Express Edition - это БЕСПЛАТНАЯ версия полного сервера


Ну не лазил я на сайт мелких и не смотрел что это за версия, у самого крутится кажется msde (в системе контроля доступа).

Sergey Spirin пишет:

 цитата:
AlexMyr пишет:

цитата:
плюс доработка сети на большую производительность



Ну а это то зачем?


Да чтоб начальство не напрягало через пол года за малую пропускную способность сети.
Sergey Spirin пишет:

 цитата:
Ну а это то клиент-серверу нафига нужно то?


А это уже можно юзеров перевести в терминале на работу с офисными програмами (у кого компы слабые) на будущее .

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 20
Зарегистрирован: 22.09.09
ссылка на сообщение  Отправлено: 17.02.11 15:42. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:


 цитата:
Сколько пользователей в системе? И каков прогноз на переспективу?



Пользователей около 50 человек. В перспективе сказать трудно, но, в любом случае, до 100 человек.


 цитата:
Это переписывание почти всей программы, не боитесь?



Я сейчас все программы перевожу на Harbour + MiniGUI. В процессе перевода меняется и интерфейс и частично логика, т.к. некоторые из них написаны еще в 80-х - 90-х годах прошлого века (страшновато звучит

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 151
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 17.02.11 15:52. Заголовок: S-A-N пишет: Пользо..


S-A-N пишет:

 цитата:
Пользователей около 50 человек. В перспективе сказать трудно, но, в любом случае, до 100 человек.


Sergey Spirin пишет:

 цитата:
Для многих задач вполне хватит И работать будет даже на просто приличном компе.


Вот уже сомневаюсь что на просто приличном компе потянет такое количество, хотя если работать поочереди человек по 5, тогда...

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 21
Зарегистрирован: 22.09.09
ссылка на сообщение  Отправлено: 17.02.11 15:57. Заголовок: Из всего выше сказан..


Из всего выше сказанного и на основе моих субъективных впечатлений прихожу к выводу, что с MS SQL связываться не стоит. Останавливаюсь на двух вариантах - Firebird и MySQL. Далее - из моих личных (м.б. ошибочных) впечатлений где-то 2-х летней давности: Firebird вроде как лучше проработан и понадежнее MySQL, но связка с Harbour похуже будет.
Прошу высказаться людей с опытом промышленной эксплуатации этих серверов в связке с Harbour.

PS
В моем предыдущем посте описка - вместо пользователей около 50 человек следует читать "20". При этом, задачи, выполняемые ими одновременно, слабо связаны. По крайней мере, на данный момент.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 152
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 17.02.11 16:03. Заголовок: S-A-N пишет: Прошу ..


S-A-N пишет:

 цитата:
Прошу высказаться людей с опытом промышленной эксплуатации этих серверов в связке с Harbour.


Если бы были такие, то уже сказали бы, а так...

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 22
Зарегистрирован: 22.09.09
ссылка на сообщение  Отправлено: 17.02.11 16:08. Заголовок: Тогда другой вопрос ..


Тогда другой вопрос - кто-нибудь работает с БД, отличными от dbf? Отпишитесь.


Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 153
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 17.02.11 16:15. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Для начального знакомства с MySQL рекомендую изучить примеры из поставки MiniGUI в базовой и расширенной папках.


Это смотрели?

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 23
Зарегистрирован: 22.09.09
ссылка на сообщение  Отправлено: 17.02.11 16:22. Заголовок: AlexMyr пишет Это с..


AlexMyr пишет


 цитата:
Это смотрели?



Смотрел. Но сейчас меня интересует не принцип работы с сервером - это уже техника. Я опасаюсь "войти не в ту дверь". Т.к. это чревато неоднократным переписыванием программ. Хотелось бы с помощью "аксакалов" избежать неверного выбора.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 462
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 17.02.11 16:42. Заголовок: S-A-N пишет: Тогда ..


S-A-N пишет:

 цитата:
Тогда другой вопрос - кто-нибудь работает с БД, отличными от dbf? Отпишитесь.



Я работал и работаю в основном с "не-dbf". Более того, при работе с dbf основной задачей было чаще "искоренение этого dbf" или по-крайней мере "поддержание на плаву до наступления светлых клиент-серверных времен"

Профессионально работал с InterBase/FireBird (ранее) и Oracle (сейчас). С MSSQL и MySQL только пересекался. С MySQL довольно давно. Тогда MySQL имел прозвище "МОЛОТОК" По сравнению с конкурентами имел очень мало функционала (не было хранимых процедур, не помню уже какие-то проблемы с транзакциями, триггерами и т.п. блокировочная архитектура), то есть, почти "голый" Но полюбился за надежность и скорострельность выборок В связи с этим и занял свою экологическую нишу - WEB-хостинг. Думаю, что и сейчас доля его в хостинге подавляющая.


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1684
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 17.02.11 16:44. Заголовок: S-A-N пишет: вместо..


S-A-N пишет:

 цитата:
вместо пользователей около 50 человек следует читать "20"



Такое кол-во пользователей у меня работает в муниципалке. Работают они на обычном CDX в файл-серверном варианте.
И тормозов нет. Сервер простой 2-х ядерная машина, года 3-4 назад покупали.
Перевел с Клипера на хХарбор и забыл про все глюки и тормоза.

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 24
Зарегистрирован: 22.09.09
ссылка на сообщение  Отправлено: 17.02.11 16:56. Заголовок: Andrey пишет: Работ..


Andrey пишет:


 цитата:
Работают на обычном CDX в файл-серверном варианте. И тормозов нет



Тормозов нет и у меня. Вопрос в том, что принято решение (не мной) отказываться от dbf в пользу SQL сервера.

To Sergey Spirin
У Вас все это крутилось с Harbour? Если да, то чем вызван переход от Firebird к Oracl (кстати, платная версия или нет)?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 463
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 17.02.11 17:15. Заголовок: S-A-N пишет: У Вас ..


S-A-N пишет:

 цитата:
У Вас все это крутилось с Harbour?



Нет, конечно, я - дельфист. А с Клиппером познакомился именно в рамках задач именно по его (Клиппера) "искоренению"

Firebird и Oraclе - это разные сферы деятельности. Там где Oraclе, там никогда никакого Клиппер/Харбура не было.

Давайте рассуждать так. Все сервера, учитывая вашу нагрузку вам "подойдут". "Танцевать", действительно нужно от клиента. Что Вы будете использовать? ADO, SQLRDD еще что-нибудь? Про конкретные связки можно "порассуждать". А вы сами, кстати, как с SQL знакомы?




Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 39
Зарегистрирован: 13.09.07
ссылка на сообщение  Отправлено: 17.02.11 17:29. Заголовок: Советовал бы еще пос..


Советовал бы еще посмотреть и в сторону бесплатного PostgreeSQL

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 25
Зарегистрирован: 22.09.09
ссылка на сообщение  Отправлено: 17.02.11 18:48. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
я - дельфист. А вы сами, кстати, как с SQL знакомы?


Когда-то делал пару прог "налево" на Делфи 7 и Firebird. Остальные SQL-сервера знаю только теоретически. Хотя считаю, что освоение - дело времени и желания. Желание присутствует, в временем меня не ограничивают - главное начать процесс.

Сергей, попутный вопрос: Вы используете Дельфи или Лазарус?

leo пишет:

 цитата:
Советовал бы еще посмотреть и в сторону бесплатного PostgreeSQL


Я, конечно, могу ошибаться, но вроде бы PostgreSQL несколько "тяжеловат". У нас подавляющее большинство ПК - "старички" с процессором до 600 МГц и памятью в 128-256 М. Потянут ли?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 464
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 17.02.11 19:46. Заголовок: S-A-N пишет: попутн..


S-A-N пишет:

 цитата:
попутный вопрос: Вы используете Дельфи или Лазарус?



Дельфи

S-A-N пишет:

 цитата:
Когда-то делал пару прог "налево" на Делфи 7 и Firebird. Остальные SQL-сервера знаю только теоретически.



Ну, как-то сверх кардинально другие сервера от Firebird не отличаются... Но вот, из того, что вы пишите ниже, какого-то понимания пересечение с Firebird еще не дало

S-A-N пишет:

 цитата:
но вроде бы PostgreSQL несколько "тяжеловат". У нас подавляющее большинство ПК - "старички" с процессором до 600 МГц и памятью в 128-256 М. Потянут ли?



А что они должны потянуть? Наличие в сети компьютера с установленным SQL-сервером? То есть, просто с софтиной От чего им (этим ПК) поперхнуться то?

Поймите, архитектура клиент-сервер и создавалась для того, чтобы разгрузить сеть от массы бестолковых файловых операций. Поэтому ЕСЛИ написать ПРАВИЛЬНО, то сети только полегчает Но высока вероятность, что в первый раз напишите неправильно, вот тогда сети станет плохо, от бессмысленных прокачек данных на клиентские компы






Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 26
Зарегистрирован: 22.09.09
ссылка на сообщение  Отправлено: 17.02.11 19:57. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
А что они должны потянуть? Наличие в сети компьютера с установленным SQL-сервером? То есть, просто с софтиной От чего им (этим ПК) поперхнуться то?



Речь идет о том, что из ЭТИХ компьютеров необходимо выделить один под сервер. На компьютере будет запущено (минимум) Windows Xp, антивирус, файервол. Все это съест значительную часть и без того скудного запаса ОЗУ. Теперь запускаем сервер. Теперь делаем к нему запрос от нескольких ПК. Как он (компьютер) себя поведет? Не знаю.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 504
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 17.02.11 20:08. Заголовок: S-A-N, имхо, раз уж ..


S-A-N, имхо, раз уж начальство хочет SQL, оно должно понимать необходимость наличия (покупки) подходящей для SQL железки. На том, что у имеется, трудно SQL эксплуатировать.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 465
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 17.02.11 20:13. Заголовок: S-A-N пишет: Речь и..


S-A-N пишет:

 цитата:
Речь идет о том, что из ЭТИХ компьютеров необходимо выделить один под сервер. На компьютере будет запущено (минимум) Windows Xp, антивирус, файервол. Все это съест значительную часть и без того скудного запаса ОЗУ. Теперь запускаем сервер. Теперь делаем к нему запрос от нескольких ПК. Как он (компьютер) себя поведет?



Ну, один то комп из очевидных соображений стоит сделать чуть посильней У вас файл-сервер то сейчас тоже на 128 мб памяти? А вообще, все будет зависеть от того КАКИЕ запросы будет выполнять сервер... Понимаете? Если будете ВСЕГДА работать ОПТИМИЗИРОВАННЫМИ запросами, то все летать будет, даже при таком сервере. И похоже Firebird в этом случае очень неплохой для вас вариант..... В принципе, вспомните ситуацию лет 15 назад, я помню хорошо например такое - сервер - 486 с 32MB WinNT 3.51 Interbase 4.0 Classic, 50 клиентов 386 16МB Win 3.11, клиент написан на Delphi1 - ВСЕ ЛЕТАЛО!

Firebird - не такой далекий потомок того InterBase 4.0 Classic.








Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 27
Зарегистрирован: 22.09.09
ссылка на сообщение  Отправлено: 17.02.11 20:18. Заголовок: PSP пишет: начальст..


PSP пишет:

 цитата:
начальство должно понимать необходимость покупки подходящей для SQL железки


Оно (начальство) может быть и понимает, но (далее близко к тексту): "Ты же видишь, что сейчас денег нет - кризис. Поэтому ты пока делай, а деньги появятся - тогда и купим." Такая вот ситуация.

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 28
Зарегистрирован: 22.09.09
ссылка на сообщение  Отправлено: 17.02.11 20:30. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Ну, один то комп из очевидных соображений стоит сделать чуть посильней.


Сделать-то стОит, но пока денег нет (см.выше).

 цитата:
У вас файл-сервер то сейчас тоже на 128 мб памяти?


Сейчас ни клиент- ни файл-сервера практически нет. Например, в бухгалтерии каждый сотрудник отвечает за свой участок. Все необходимые программы и БД у него на компьютере. Когда он закрыл свой участок, то данные, необходимые, например для главной книги, пересылаются по сети на компьютер главного бухгалтера. Об этом делается соответствующая запись в журнале обмена обоих компьютеров. После получения всех необходимых сведений наступает очередь главной книги, реестра налоговых накладных и т.д. Аналогичным образом организована работа остальных подразделений.
Короче говоря, каждый пользователь работает локально, изредка обмениваясь информацией с другими. УФ-Ф

Учитывая выше сказанное, сейчас нагрузки на сеть практически нет (за исключением момента создания резервных копий баз данных). Так что, на мой взгляд, и оптимизировать-то нечего.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 466
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 17.02.11 20:46. Заголовок: S-A-N пишет: началь..


S-A-N пишет:

 цитата:
начальство должно понимать необходимость покупки подходящей для SQL железки



На 20 юзеров и такой железки хватит, может быть я бы памяти добил бы, хотя бы до 512 или гига, уж на это у начальства денег хватит


А вообще, сейчас пришло в голову, надо вам посоветовать ОЧЧЕНЬ с большой осторожностью при выборе клиентской либы отнестись к таким, где обещается "полное сохранение Xbase кода и при этом полную миграцию на SQL" С вашим железом ИМЕННО ЭТО явно не для вас Это в принципе невозможно, а видимые результаты достигаются сверхресурсоемкостью... Каюсь, я сам этим "баловался", правда под Дельфи, я как-то давно был сильно увлечен идеей "эмуляции навигационных методов работы с данными селективными методами"... Даже сделал такую эмуляцию, смотри например:

http://www.ibase.ru/d_fibc.htm<\/u><\/a>

Там, пятая сверху либа. Но вот сейчас понимаю, что смысла в этом никакого Пишите оптимально и все будет много быстрее, чем на файл-сервере на одинаковом железе.



Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 29
Зарегистрирован: 22.09.09
ссылка на сообщение  Отправлено: 17.02.11 20:54. Заголовок: Может я не прав, но ..


Может я не прав, но у меня складывается ощущение зарождающейся дискуссии.

Sergey Spirin пишет:

 цитата:
Пишите оптимально и все будет много быстрее, чем на файл-сервере на одинаковом железе


Да я, собственно, не против. В том-то и вопрос, что из SQL-серверов выбрать для лучшей связки с Harbour при максимальной функциональности.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 154
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 17.02.11 21:43. Заголовок: S-A-N пишет: В том-..


S-A-N пишет:

 цитата:
В том-то и вопрос, что из SQL-серверов выбрать для лучшей связки с Harbour при максимальной функциональности.


Сюда больше народу не заглянет, чтобы больше подсказать, потому устанавливайте на одном компе MySQL и начинайте експериментировать - создать базу, добавить запись, удалить, отредактировать. Успехов.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 467
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 17.02.11 22:53. Заголовок: S-A-N пишет: Да я, ..


S-A-N пишет:

 цитата:
Да я, собственно, не против. В том-то и вопрос, что из SQL-серверов выбрать для лучшей связки с Harbour при максимальной функциональности.



AlexMyr пишет:

 цитата:
Сюда больше народу не заглянет, чтобы больше подсказать, потому устанавливайте на одном компе MySQL и начинайте експериментировать - создать базу, добавить запись, удалить, отредактировать. Успехов.



"Заглянуть" сюда "могут" Паша и Петр, которые именно по связке могут дать некоторую консультацию. То есть, по клиентской части, что проработанней в данный момент в Харборе, ADO ли это, или "прямой" доступ, который есть (типа hbfbird) и т. д. Отсюда и выбор сервера.. Поэкспериментировать самому тоже не вредно тем более с Firebird знакомство было





Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 155
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 18.02.11 14:46. Заголовок: Ну как, на чем остан..


Ну как, на чем остановились?

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 30
Зарегистрирован: 22.09.09
ссылка на сообщение  Отправлено: 18.02.11 15:04. Заголовок: AlexMyr пишет: Ну к..


AlexMyr пишет:

 цитата:
Ну как, на чем остановились?


Да, собственно говоря, остановился на том же, с чего начинал - Firebird или MySQL. А вот какой из них - это вопрос.
AlexMyr пишет:

 цитата:
Поэкспериментировать самому тоже не вредно


Следую этому доброму совету.
Очень надеюсь, что Паша или Петр помогут внести некоторую ясность и облегчить выбор. А судя по количеству просмотров темы, этот вопрос интересует не только меня одного.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 468
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 18.02.11 15:44. Заголовок: S-A-N пишет: остано..


S-A-N пишет:

 цитата:
остановился на том же, с чего начинал - Firebird или MySQL



Кстати, краем уха слышал, что MySQL прибрал к рукам Oracle и есть уже платные версии.

А по Firebird если будут вопросы, то спрашивайте. Вообще же, из плюсов Firebird:

- Огромное русскоязычное сообщество. Несколько русских прогеров в проекте (Дима Еманов, Влад Хорсун и т.д.).
- Переводная и оригинальная литература.
- Прекрасный IBExpert от Саши Хвастунова - средство разработки и администрирования
- Ставится на любое железо, не требует практически никакого админства.
- SQL-диалект конечно не такой сверхогромный как в Oracle, но все необходимое есть.
- Версионная архитектура.
- Есть для всех популярных платформ.
- Любопытное ноу-хау - несколько транзакций в одном соединении, этого нет даже в Oracle.

Из минусов:

- Проект все-таки базируется на старом Борландовском коде InterBase (хотя ребята там много чего уже и попереписали)
- Ранее был чувствителен к нагрузкам >100 подключений (хотя это тоже уже могло измениться).



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 469
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 18.02.11 15:47. Заголовок: Ах да, надо не забыт..

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 31
Зарегистрирован: 22.09.09
ссылка на сообщение  Отправлено: 18.02.11 18:18. Заголовок: Sergey Spirin, спаси..


Sergey Spirin, спасибо за предложенную помощь. Ловлю на слове. iBase.ru мне знаком, раньше часто там бывал, но все равно спасибо. Кстати, куда стучаться с вопросами, чтобы не плодить дополнительные темы?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 470
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 18.02.11 19:09. Заголовок: S-A-N пишет: , куда..


S-A-N пишет:

 цитата:
, куда стучаться с вопросами, чтобы не плодить дополнительные темы?



Да я думаю в эту тему и кладите. Ну, если что срочно, то мылом. Мыло мое знаете?

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 32
Зарегистрирован: 22.09.09
ссылка на сообщение  Отправлено: 18.02.11 19:14. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Мыло мое знаете?


Нет.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 471
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 18.02.11 19:19. Заголовок: spirin paritetsoft...


spirin [at] paritetsoft.ru

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 33
Зарегистрирован: 22.09.09
ссылка на сообщение  Отправлено: 18.02.11 19:25. Заголовок: Теперь знаю :sm12: ..


Теперь знаю

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 1
Зарегистрирован: 18.02.11
ссылка на сообщение  Отправлено: 19.02.11 13:40. Заголовок: S-A-N при выборе сер..


S-A-N при выборе сервера смотрите в сторону популярных CMS.
Я решал эту проблему в 2001 году. Задачи работали как у ВАс в посте 28.
Получилось следующе:
Для минимизации затрат рабочие места остались на Clipper 5.2 (Blinker 6.0) RDD SIXNSX, NTX.
Сервер сначала был MySql 3.2.5. потом перешел на Firebird (таблицы MyIsam без транзакций теряли записи иногда,
таблицы InniDB требовали лицензию).
Клиент написан на VO 2.0, 2.5, 2.7 (хронологически). Работает в фоновом режиме, находясь в соединении с базой.
В Sql были только справочники и др. оперативные данные быстрого доступа.
Документы с рабочих мест на FTP сервере в zip формате (в Sql попадали позже).
Для уменьшения трафика сети (работа с Sql запросами) в dbf и таблицы добавил поля IDNUMBER (PRIMARY KEY) и
DATE_MODIFY (INDEX в Sql) заполняются триггерами сервера. После первоначальной закрузки данных на сервер,
обмен долько изменеными данными.
Вот как то так ...
На сегодня идут работы в направлении CMS Jumla+Harbur+LetoDB (LetoDB начали пробовать с версии 20.07.2010) c подключением в шаблон CMS.


Спасибо: 1 
ПрофильЦитата Ответить





Пост N: 34
Зарегистрирован: 22.09.09
ссылка на сообщение  Отправлено: 19.02.11 20:55. Заголовок: SergejKis, спасибо з..


SergejKis, спасибо за Ваш отклик.
Я тоже больше склоняюсь к Firebird. Вариант с LetoDB я не рассматривал, т.к. боюсь, что он не "прокатит" (для руководства это не "бренд"). Хотя ... А вдруг!
В любом случае, я рад, что нашелся человек с "параллельным" направлением работы.
И вопрос - чем был вызван переход от Firebird к LetoDB?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2
Зарегистрирован: 18.02.11
ссылка на сообщение  Отправлено: 19.02.11 22:11. Заголовок: S-A-N пишет:чем был вызван ...


Более быстрой реакции системы для клиента, как на HB не получите какой бы интерфейс не использовали (потом 98 еще встречается у клиентов). А LetoDB, CDX это естественный RDD HB. Применяя его достаточно
 цитата:
легко

строить распределенные базы, при этом никто не отменяет заполнение инф. Sql сервера. Надо просто определится где инфю первична.
Строить TBrowse обьекты с курсорами в процедурах Sql сервера - на любителя (особенно когда они начинають жить во времени) или все читать в массивы - тоже как-то ...
MySQL, Apache,PHP входят во все популярные CMS.
Загрузка страниц ~ 2+сек. в Jumla и около 1 сек. во frame шаблона HB+CDX, PC 800, 512Kb работать можно...
MS SQL и Firebird очень близкий синтаксис языка (это вопрос миграции). Всех (или многих) учат на PHP+MySql.
На мой взгляд, выбор Sql сервера должен основываться на команде людей, знания которых, применяются при реализации проекта и направления в котором идет развитие системы и думаю, что кроме Вас самого на этот вопрос никто не ответит

как-то сумбурно , но ...


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1024
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 20.02.11 13:42. Заголовок: S-A-N пишет: Вариан..


S-A-N пишет:

 цитата:
Вариант с LetoDB я не рассматривал, т.к. боюсь, что он не "прокатит" (для руководства это не "бренд"). Хотя ... А вдруг!


Искусству дипломатии не обучен.. Кто для вашего руководства "бренд" - SAP AG, Sybase, Inc ? Зайдите на сайт Sybase, раздел "Продукты". С какого бодуна бренд, цена которому $5,8 миллиардов по состоянию на 2010 год поддерживает "каменный век" dbf? А может он и стоит свою цену, что умеет считать и свою копеечку и своих клиентов, в отличии от вашей "фирмы", для которой 500-600$ на более-менее современный "писюк" - непозволительная роскошь.
Кстати, а вам доплачивать за приобретаемые "скилы" руководство тоже не намерено?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 157
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 20.02.11 14:13. Заголовок: Действительно, зашел..


Действительно, зашел на sybase, задал поиск - dbf и получил Results 1-20 of 184 for dbf.
Самое последнее
Accessing DBF Tables (Product/Solution Page Brief)
Accessing DBF Tables over 2GB in Visual FoxPro with Advantage Database Server
Category: Product Info Date: 2011-01-18

Вот так.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1685
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.02.11 16:00. Заголовок: Петр пишет: Искусст..


Петр пишет:

 цитата:
Искусству дипломатии не обучен.. Кто для вашего руководства "бренд" - SAP AG, Sybase, Inc ?

Петр пишет:

 цитата:
Кстати, а вам доплачивать за приобретаемые "скилы" руководство тоже не намерено?



5 баллов за ответ !!! Полностью присоединяюсь !!!
Как это знакомо все ....

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 472
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 20.02.11 16:35. Заголовок: То, что Sybase прибр..


То, что Sybase прибрал "к рукам" ADS, это мы все знаем. Так же, наверное, понимаем, что от этого сервер ADS не стал сразу сервером Sybase Так же как MySQL не стал еще Oracle-ом. Интересно еще - ADS "выгодно продался"? Или "отдался от безысходности"?

В любом случае, ADS и LetoDB - это все-таки, в основном, КОСТЫЛЬ, который позволяет решить проблему исчерпания "запаса прочности обычного файлового подхода". ADS также предлагает и SQL-ориентированный функционал, понятно, что такое и было и наверное еще будет в определенной степени востребовано, за счет чего ADS существовал и существует.

Но у автора топика ситуация немного другая. У него "система локалок с "пробросом" данных". То есть, даже переход на ADS потребует значительной переделки системы. К тому же, он упомянул, что во времени не сильно ограничен. В этой ситуации почему бы не подумать и о "бескостыльном" варианте? Переделки это потребует много больше конечно, но и плюсами может обернуться приличными, например, приобретение SQL-квалификации и т.д. Почему бы хотя бы не попробовать?

Вопрос, все-таки, остается по клиентской части Харбора при работе с "обычными" SQL-серверами, а не специализированными (как ADS и Leto). Использует ли кто-то это реально? Каковы надежность, функционал?

У меня испано-бразило-мексиканские frh-пользователи довольно много используют и MSSQL и MySQL и т.д. Но они все на [x]Harbour-e (FiveWin либо Xailer) и все они практически используют SQLRDD. А как в Harbour с этим дело обстоит?


Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 3
Зарегистрирован: 18.02.11
ссылка на сообщение  Отправлено: 20.02.11 16:53. Заголовок: S-A-N пишет:Искусству дипломатии ...


Как руководство может управлять тем, чем управляете Вы, а именно, как производить расчет через массивы или файлы любой
организации, какой оператор применить в том или ином месте программы ? Где производить основные вычисления, алгоритмы на
стороне SQL сервера (триггера, процедуры, представления ...) или на стороне клиента (exe, hrb. hs, CDX,LetoDB,...) ?
А Ваше руководство хочет увидеть развите системы например результаты деятельности предприятия на мобильном телефоне, ifone, ноутбуке и т.д.. и желательно в знакомой оболочке любимого Crome, Opera,IE, ...
Если выберете алгоритмы на стороне сервера (триггера, процедуры, представления ...), то миграция на другой сервер возможно будет трудной, именно здесь, как правило различия в диалектах Sql.

Словом успехов !!!



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1025
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 20.02.11 17:45. Заголовок: ADS не нужно станови..


ADS не нужно становиться ASE или Sybase IQ, а MySQL - Oracle. Это все нишевые продукты и у них свой сегмент, свои пользователи.

 цитата:
В этой ситуации почему бы не подумать и о "бескостыльном" варианте? Переделки это потребует много больше конечно, но и плюсами может обернуться приличными, например, приобретение SQL-квалификации и т.д. Почему бы хотя бы не попробовать?


И этому костылю, как вы выразились, больше лет чем любимому вами Delphi, который некоторые горячие головы хоронят от года к году..
У автора, пользуясь современными терминами, хорошо налаженная система репликаций. Ему нужно всего лишь перейти чистенько на ADS Local, а потом, после приобретения серверной части, просто настройки программы поменять, и эту самую репликацию оставить лишь для форс-мажорных ситуаций (работа офлайн и т.д.).
Думать о переходе никто никому не запрещает. Но я не вижу смысла в таком переходе, да еще и в условиях безденежья (это я о MS SQL, пускай даже и бесплатном). Что у автора бизнес процессы поменялись, резко увеличилось (или планируется) количество пользователей и возросла нагрузка, стал валиться сервер? Да ничего подобного. Руководство захотело MSSQL, при этом не имея даже персонала с опытом работы с оным. Автор какой опыт хочет приобрести: программиста SQL, архитектора БД или администратора. Кто ему его передаст? Кто на этом предприятии создаст и откатит backup штатными средствами или переведет базу с одной версии сервера на другую? Может руководство оплатит ему курсы и сертификацию?
Кстати, я вовсе не уверен в категоричности руководства, может это ТС краски сгущает или не понимает с чем ему предстоит встретиться. Но я ему крайне не советую делать все это за "спасибо", не враг же он своему здоровью.. Все остальное - решаемо.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1026
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 20.02.11 19:05. Заголовок: Что это я хотел сказ..


Что это я хотел сказать, но забыл.. Ага, бесплатным аналогом брендового ADS и есть Leto DB. Для этого его и создавали.
Sergey Spirin пишет:

 цитата:
Вопрос, все-таки, остается по клиентской части Харбора при работе с "обычными" SQL-серверами, а не специализированными (как ADS и Leto). Использует ли кто-то это реально? Каковы надежность, функционал?

У меня испано-бразило-мексиканские frh-пользователи довольно много используют и MSSQL и MySQL и т.д. Но они все на [x]Harbour-e (FiveWin либо Xailer) и все они практически используют SQLRDD. А как в Harbour с этим дело обстоит?


Да, вернемся к нашим баранам.. У ТС все таки частный случай, а кому действительно нужно "общаться" с обычными" SQL-серверами.
SQLRDD действительно создавался как коммерческий проект, тесно переплетенный с другим коммерческим проектом xHarbour и вариант для Harbour планировать не собирались и не собираются.
Что остается пользователям Harbour? Я честно о всех вариантах не знаю. Могу лишь описать то, что есть в Harbour SVN, а именно User contribution, т.е. папка contrib и examples.
Сначала examples/adordd
ADORDD - RDD to automatically manage Microsoft ADO.
Первоначально создан Fernando Mancera и Antonio Linares в качестве бесплатного бонуса для пользователей FiveWin (примерно в тоже время когда в составе Visual xHarbour появилась демка SQLRDD, т.е. по сути наш ответ Чемберлену). Особого отклика в сердцах пользователей не нашел, фактически работа над ним приостановлена. Был помещен авторами в Harbour SVN для придания "второго дыхания", но.. Результат - дисквалификация и помещение в папку examples (кандидат на вылет.)

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 473
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 20.02.11 20:15. Заголовок: Петр пишет: Руковод..


Петр пишет:

 цитата:
Руководство захотело MSSQL, при этом не имея даже персонала с опытом работы с оным. Автор какой опыт хочет приобрести: программиста SQL, архитектора БД или администратора. Кто ему его передаст? Кто на этом предприятии создаст и откатит backup штатными средствами или переведет базу с одной версии сервера на другую? Может руководство оплатит ему курсы и сертификацию?



В "административно-житейском" контексте я с вами совершенно согласен. Собственно, выше я предупреждал автора, что такая "затея" - это почти полное переписывание.

Петр пишет:

 цитата:
Это все нишевые продукты и у них свой сегмент, свои пользователи.



Конечно, я это и имел в виду, когда говорил о "специализации".

Петр пишет:

 цитата:
И этому костылю, как вы выразились, больше лет чем любимому вами Delphi, который некоторые горячие головы хоронят от года к году..



Здесь не совсем так. Посмотрел, начало ADS считается с 93-го. Первая общедоступная бэта Delphi это 94-й, а релиз 95-й год. Но. Компилятор первой Delphi имел номер версии - 8, на единицу больше с предыдущим - Borland Pascal 7. То есть, Дельфи - это название нового IDE, новой компонентной архитектуры, но не языка. Дельфи1 - это очередная версия Borland Pascal. Ну а хоронили его все "на почве" конфликта разработчиков и акционеров Borland-a. Сейчас, тьфу-тьфу, конфликт этот полностью разрешился, хоть все и остались на тех же рабочих местах.

Петр пишет:

 цитата:
ADORDD - .... Особого отклика в сердцах пользователей не нашел, фактически работа над ним приостановлена.



То есть, использовать его в реальной работе вы бы не рекомендовали? Хорошо, а что можно сказать про "прямые" hbfbird и SQLMIX, которые тоже есть в contrib?



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1027
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 20.02.11 20:32. Заголовок: contrib/hbfbird cont..


contrib/hbfbird contrib/hbpgsql
Инициатор Rodrigo Moreno, в Harbour SVN библиотеки попали из xHarbour CVS.

В 2008 году я "поплотнее" пообщался с hbfbird. Задача тривиальная: есть сторонняя программа, использующая в качестве SQL движка Firebird embedded, нужно выгрузить из ее базы данные и произвести над ними какие-то действия, штатных средств импорта - экспорта не имеет, сторонние утилиты (IB Expert) не использовались (сейчас и не вспомню почему ). Впечатление от реализации: отвратительные, без правки исходного кода не завелось, куча утечек памяти и GPF по поводу и без.
Текущее состояние - не известно. В 2010 году Viktor приложил усилия к приведению hbfbird к рабочему виду, но насколько я знаю реально он библиотеку не использует. В различных форумах (посвященныих [x]Hb и Ко) я всего лишь два-три раза встречал вопросы по Firebird.

Где-то 2009 тестировал hbpgsql, реализовано гораздо лучше. Ничего не валилось, отработало себе тихонько свой тест и все. Смотрел на реализацию. Кто-то из наших латиноамериканских друзей, где читал сейчас и не вспомню, писал, что регулярно работает с PG, претензий не имеет.

И hbfbird, и hbpgsql, и hbmsql реализованы в сл. принципу. Нативное API, над ним функции-врапперы Harbour и последний слой Harbour класс-обертка.

contrib/hbmysql
Контрибутор Maurilio Longo, наиболее "старая" библиотека. Судя по сообщениям на форумах - наиболее востребуемая, вполне стабильная и пригодная для использования не только в целях тестирования.

Исходники всех трех библиотек в 2010 году пересматривались, добавлено использование GC, пересмотрены используемые Harbour API функции.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1028
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 20.02.11 20:57. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
использовать его в реальной работе вы бы не рекомендовали? Хорошо, а что можно сказать про "прямые" hbfbird и SQLMIX, которые тоже есть в contrib?


Если вам нужно перекачать данные из mdb файла несложной структуры, то почему бы и нет? А на работу с SQL серверами, я бы не решился.
SQLMIX вполне робочий, но очень специфичный продукт для решения конкретных задач. Судя по переписке в Harbour-Dev, не менее 5 человек используют его в связке Harbour + Oracle. Возможности и принципы работы SQLMIX хорошо описал автор Mindaugas Kavaliauskas, читать contrib/rddsql/readme.txt.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1029
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 20.02.11 21:22. Заголовок: Ну и не надо забыть,..


Ну и не надо забывать, что достучаться к SQL серверу, и не только к нему, можно посредством использования ODBC (hbodbc).
Это конечно не прямой путь, но всегда верный и почти доступный как на платформе Windows, так и *nix (unixODBC). Верный потому, что начиная с версии SQL3 (SQL-99) CLI (API на котором строятся ODBC драйвера) является частью SQL стандарта. Почти доступный потому, что не все драйвера являются бесплатными и не всегда безглючными или полноценно функциональными.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 474
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 20.02.11 21:37. Заголовок: Петр пишет: И hbfbi..


Петр пишет:

 цитата:
И hbfbird, и hbpgsql, и hbmsql реализованы в сл. принципу. Нативное API, над ним функции-врапперы Harbour и последний слой Harbour класс-обертка.



При чтении этих строк, в голове промелькнуло - а не вставить ли между "Нативное API" и "Harbour класс-обертка".... Delphi dll? Ну, это я в своем репертуаре А что, был бы качественный полный доступ к конкретным серверам...

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 158
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 20.02.11 22:41. Заголовок: Пока автору подбрасы..


Пока автору подбрасывают пищу для размышления, пусть автор подумает над тем, что ему даст переход с действуюшей системы на ту, которую хочет начальство. Может быть после анализа получится что новая система будет не столь эффективна в сравнении с существующей?

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 35
Зарегистрирован: 22.09.09
ссылка на сообщение  Отправлено: 21.02.11 08:55. Заголовок: AlexMyr пишет: Пока..


AlexMyr пишет:

 цитата:
Пока автору подбрасывают пищу для размышления...


Да, ребята... "Пищи" набросали... Ешь - не хочу. Как говорится: то пусто, то густо.
Наше безденежье - это временно (нас туда загнал предыдущий, слава богу уже снятый директор). Буквально только что новый (адекватный и вполне вменяемый) директор поставил мне несколько новых неотложных задач. Из-за сжатых сроков (должно работать "вчера") все будет решаться в устоявшемся стиле.
В перспективе руководство видит несколько другую организацию бизнес-логики с увеличением числа клиентов. НО! Было заявлено, что "как и на чем реализовывать - смотри САМ"
По поводу нашего IT персонала - весь персонал состоит из меня одного. Так сказать, от скуки на все руки.
Приступаю к решению поставленных задач. По свободе буду пробовать LetoBD и Firebird. Что-то будет появляться - отпишусь, или постучусь с вопросами
Спасибо всем откликнувшимся! Если кто-то еще поделится своим опытом или мыслями - буду рад.

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 1826
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 21.02.11 09:04. Заголовок: По поводу связки Har..


По поводу связки Harbour+FB
Библиотеку hbfbird я пробовал использовать давно, еще в 2003-2004 году
И впечатления были примерно такие, как у Петра - глючная она. С тех пор несколько раз смотрел ее - она оставалась примерно в том же состоянии.
В каком состоянии она сейчас - не знаю, не смотрел.
sddfb у меня не заработал вообще. С БД коннект был, но запрос не работал.
Для своих целей я использовал adordd. С ней тоже были некоторые проблемы, которые я устранял правкой самого класса.
В конце концов я остановился на выборках из БД fb непосредственно через ADO Recordset. Тут проблем не возникло никаких. Но при этом конечно не используются средства rdd


Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 36
Зарегистрирован: 22.09.09
ссылка на сообщение  Отправлено: 21.02.11 09:09. Заголовок: Pasha, спасибо - учт..


Pasha, спасибо - учту.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 159
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 21.02.11 10:43. Заголовок: S-A-N пишет: Буквал..


S-A-N пишет:

 цитата:
Буквально только что новый (адекватный и вполне вменяемый) директор поставил мне несколько новых неотложных задач.


Вот как бывает, кучу информации перелопатил, в голове начало все выстраиваться и бац ..., что делать?

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 37
Зарегистрирован: 22.09.09
ссылка на сообщение  Отправлено: 21.02.11 11:20. Заголовок: Ну, информация в люб..


Ну, информация в любом случае на пользу, тем более, что в перспективе надо будет все-равно менять подход. А пока можно относительно спокойно поэкспериментировать, пробуя разные варианты.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 4
Зарегистрирован: 18.02.11
ссылка на сообщение  Отправлено: 21.02.11 11:23. Заголовок: Попробую обосновать ..


Попробую обосновать для предложенных условий использование LetoDB.
В Sql серверах конфликт операций Insert,Update,Delete и Select существут и приводит к
снижению производительности особенно в длительном периоде работы (есть и др.факторы
для простоты рассуждений я их отбрасываю). Разрешение конфликта разделить
эти операции на два сервера. Итак два сервера: один для вых.форм др. для документов справочников, ...
Какие формы перенести? Для начала годовые, квартальные, месячные, ... словом как-то определились. Получается ввод организовали, проводим периодически репликацию данных серверов, формы получаем.
Сервер в худшем случае два разных физических диска в лучшем - два PC.
Вернемся к начальству, оно требует движения вперд ... наверное в сторону интернета. Надо первым делом перевести или создать
с нуля что-то нужное им (будут видеть что все движется и деньжат может быть подбросят на ...) Итак чем будем двигать вперед?
Нас двое (трое) новой ставки не будет ! А сайт за два часа - это же говорят есть ?! Попробум двигать (если надо). Предлагают
разные CMS: Денвер, Jumla, Wordpress, ... Смотрим внутренности, а там Apache 2.2, PHP 5.1/2, MySql 5.2 . Ура ! Если мы двигаемся так, то определенность с SQL сервером уже есть !!! Засада ! PHP я последний раз трогал в 2003,2004 гг. Воды много утекло.
Возможно применим CGI или FastCGI hrb в Harbure есть.
Выбираем CMS для пробы устанавливаем, берем шаблон, ага шевелится ...,
Можно конечно без CMS, но вопросы управления контентом и т.д. останутся,.
Смотим на сервер документов. Варианты переписать все ... я не рассматрию.
Программы Clipper надо переводить в HB, часть уже на HB, значит надо использовать како-то RDD. Мне понравилось LetoDB, но
это уже совершенно не принципиально - дело вкуса и наработок.
Итак получилось два сервера MySql, LetoDB причем в такой связке LetoDB должен потянуть больше клиентов ?!
Рассмотрим теперь отказ сервера к примеру на неделю (а может больше имею в виду порвали кабель связи, полетели диски) ... Копии и откаты баз мы делаем. MySql не смертельно, а вот сервер документов остановит работу предприятия ... Руководство однозначно скажет ДОЛЖНО РАБОТАТЬ !!! Совсем забыл про рабочие места к которым не дотянулась рука цивилизации (локалной сети). Следовательно при переводе на Harbor надо учесть работу сразу RDD LetoDB и CDX.
Вернемся к формам, я понимаю, что сейчас они на DBF файлах работают и всех устраивают. Вывод сервер форм также LetoDB.
И в CMS (если применяем ее) используем CGI с LetoDB. MySql и hbmysql (а возможно что-то другое) - дальнейшее развитие системы.
или другими


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 475
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 21.02.11 11:37. Заголовок: SergejKis пишет: В ..


SergejKis пишет:

 цитата:
В Sql серверах конфликт операций Insert,Update,Delete и Select существут и приводит к
снижению производительности особенно в длительном периоде работы (есть и др.факторы
для простоты рассуждений я их отбрасываю). Разрешение конфликта разделить
эти операции на два сервера.



Какие интересные и непостижимые тайны нам заодно открываются

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 5
Зарегистрирован: 18.02.11
ссылка на сообщение  Отправлено: 21.02.11 17:06. Заголовок: Для Sergey Spirin.


Вам огромное спасибо за LetoDB !!! А писал я для S-A-N, т.к. он просил объснить почему после MySql и Firebird я перехожу к
LetoDB. Вот заголовок заполнить в этом словоблудии (см. выше) как-то пропустил, простите. Прибегнуть к словоблудию пришлось
по причине не понимания моих более коротких постов. Но я не писатель.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 476
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 21.02.11 17:37. Заголовок: SergejKis пишет: З..


SergejKis пишет:

 цитата:
Заголовок: Для Sergey Spirin.

Вам огромное спасибо за LetoDB !!!



Это вы ошиблись. Благодарите Александра Кресина, а также Пашу и Петра, которые в проекте LetoDB участвуют. Я же никак с LetoDB "не завязан".

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 6
Зарегистрирован: 18.02.11
ссылка на сообщение  Отправлено: 22.02.11 09:05. Заголовок: Для S-A-N


В догонку к тому, что писал ранее. Не бросайтесь (без острой необходимости) в перевод Clipper в HB. С LetoDB очень приемлемо
(даже мобильный интернет) отрабатывает связка: перед GETами в Clipper Run Harbour клиент (connect, use, seek, RecNoValue to local dbf,disconnect) полученные данные в тек. запись, работа с GETами, после них повторение всех действий с клиентом Harbour,
наконец GETы в тек. запись и опять через клиента HB на сервер LetoDB. На VO (отключены все компоненты даже RDD) это не
проходило с приемлемой реакцией системы.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 7
Зарегистрирован: 18.02.11
ссылка на сообщение  Отправлено: 22.02.11 09:18. Заголовок: Для S-A-N


VO клиенты были для MySql и Firebird.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 161
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 22.02.11 09:47. Заголовок: SergejKis пишет: В ..


SergejKis пишет:

 цитата:
В догонку к тому, что писал ранее.

Как то все сумбурно

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 1829
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 22.02.11 10:11. Заголовок: SergejKis пишет: пе..


SergejKis пишет:

 цитата:
перед GETами в Clipper Run Harbour клиент (connect, use, seek, RecNoValue to local dbf,disconnect) полученные данные в тек. запись, работа с GETами, после них повторение всех действий с клиентом Harbour,
наконец GETы в тек. запись и опять через клиента HB на сервер LetoDB.



А зачем так сложно ? Не проще было бы все делать через Hb+Leto, без всякой промежуточной пересылки данных между клиентами. Клиппер здесь лишнее звено

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 8
Зарегистрирован: 18.02.11
ссылка на сообщение  Отправлено: 22.02.11 18:55. Заголовок: Pasha пишет:зачем так сложно...


Модули S87,Clipper 5.2 работают под Linuks (один пользователь) и Windows обеспечивают три языка (латышский,русский,англ.
одновременно). Под Win обвязанные клиентские dll в VO для MySql и Fireberd (именно сейчас провожу работы по переходу на
LetoDB). В 2004 для Win была сделана уникодная консоль под которой и работают модули. HB стал интересен имеено с 2.0 версии.
А пример демонстрирует скорострельность HB+LetoDB даже в такой экзотике. Но самое смешное, то что при уходе с Sql servera
это оказалось самым простым путем. А перевод в HB не так прост в моем случае: с 1990 г. в S87,Clipper 5.2 полностью заменен вывод
на экран (на PC 286 летало)

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1688
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 22.02.11 21:24. Заголовок: SergejKis пишет: А ..


SergejKis пишет:

 цитата:
А перевод в HB не так прост в моем случае: с 1990 г. в S87,Clipper 5.2 полностью заменен вывод
на экран (на PC 286 летало)



Что-то слишком сумбурно написано.... Ничего не понятно....
Хотя я сам косноязычеем страдаю...

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 9
Зарегистрирован: 18.02.11
ссылка на сообщение  Отправлено: 23.02.11 11:03. Заголовок: Andrey пишет:не понятно....


Конечно не понятно... Мысль не закончил, срочно оторвали к делам. Все Си перевели. и некоторое модули тоже ... все путем ...,но для Linuks Clipper модуль менять не надо, а с HB ... . С уникодной консолью под, под которой работают Clipper модули мне и HB вроде не нужен ... С организацией работы Clipper+Ftp+Sql (для Linuks она не сделана - клиенты на нем постепенно отмирают) и обменом с сервером только изменеными данными (об этом я писал в постах начала темы) позволяют иметь практически не ограниченное кол-во клиентов, а также отсутсвие связи с сервером не останавливает работу на рабочих местах и позволяет подключать места не оборудованые связью с сервером. Где нужен HB ? LetoDB в первую очередь !!! Я же не выбрасываю Sql, а наращиваю компоненты - это значит функцииональность LetoDB доводится до методики работы Sql сервера, т.е. в LetoDB вносим изменения:
- при создании таблицы добавляем (если их нет) поля:
1. IDNUMER autoincrement
2. DTMODIFY дата модификации Timestamp (формат C)
3. DTINSERT дата ввода
4. DTDELETE дата удаления
5. STATUS последняя операция проведенная над записью (A/R/D).
- Добавляем HB функцию для заполнения и включаем ее вызов в нужном месте собираем ...
и ВСЕ никаких тебе триггеров ни лишних функций hrb ... СУПЕР по сравнению с SQL серверами !!!

Второе направление это GUI HB+QT. Но там пока надо разбираться, слишком много и нет понятия по действиям в НВ при смене версии QT ... Примерно понятно, но похоже здесь пока проблеммы ...
Может что и пропустил, но в целом как-то так.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 10
Зарегистрирован: 18.02.11
ссылка на сообщение  Отправлено: 23.02.11 11:40. Заголовок: Для Andrey


Пропустил направление HB+HTMLayout. HTMLayout.dll в работе с 2007 г. и соединение с HB кажется интересным.
посмотреть здесь:http://www.terrainformatica.com<\/u><\/a>

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 38
Зарегистрирован: 22.09.09
ссылка на сообщение  Отправлено: 23.02.11 19:20. Заголовок: SergejKis пишет: по..


SergejKis пишет:

 цитата:
посмотреть здесь:http://www.terrainformatica.com


Для заинтересовавшихся - наткнулся на русскоязычный форум по HTMLayout:
http://www.rsdn.ru/forum/group/htmlayout.aspx<\/u><\/a>
М.б. есть и другие.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 87
Зарегистрирован: 17.06.10
ссылка на сообщение  Отправлено: 24.02.11 00:20. Заголовок: Да, HTMLayout это ин..


Да, HTMLayout это интересно. Вот как бы эту библу задействовать с HB ?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 6
Зарегистрирован: 27.07.10
ссылка на сообщение  Отправлено: 24.02.11 10:23. Заголовок: Связка HTMLayout+HB,..


Связка HTMLayout+HB, конечно, интересная. По сути, здесь надо создать одно окно, посадить в него HTMLayout и формировать элементы интерфейса в виде HTML+CSS. Но для этого понадобится написать враппер.
Предпочтительнее было бы использование не HTMLayout+HB, а Sciter+HB. Sciter - это HTMLayout плюс скриптовый язык для работы с отображаемыми элементами от того автора (см. на сайте HTMLayout). Для доступа к функциям HTMLayout понадобится во враппере написать кучу соответствующих функций, для Sciter намного меньше (все остальное будет выполнятся скриптами).
Где-то с год назад я пытался связать Sciter и MiniGUI. Но удалось немногое. Загрузка страницы (из файла, ресурса, переменной), обращение к функциям Sciter (вызывал окно сообщений). А далее получился если и не тупик, то высокая стена - знаний C/C++ не хватило.

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 1833
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 24.02.11 10:28. Заголовок: Покажите свои нарабо..


Покажите свои наработки на harbour mail list, там людей со знанием c/c++ более чем достаточно, может быть кто-то заинтересуется


Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 88
Зарегистрирован: 17.06.10
ссылка на сообщение  Отправлено: 24.02.11 11:08. Заголовок: Извиняюсь за ламерск..


Извиняюсь за ламерский вопрос. Ну DOM он и в Африке.. Сделал embedding браузера получил документ и управляй себе
элементами страницы. Я не понимаю зачем нужно ли писать враппер используя HTMLayout/Sciter ?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 11
Зарегистрирован: 18.02.11
ссылка на сообщение  Отправлено: 24.02.11 11:36. Заголовок: Для Vladimir,fil


Применение HTMLayout, на мой взгляд, определяется не тем,что мы хотим заменить какое-то GUI ..., а применительно к Clipper, HB
Например наличие множества компонентов с разным интерфейсом (Gui,HB,Minii ,Clipper), да и просто разработка модулей разными людьми требует какого-то объединяющего интерфейса. К примеру берем Win32 из проекта присоединяем ini с прописанными запусками програм, ..., связываем с контролами html - готова утилита, которой пользуется не прграммист, а проектировщик или ... .
Словом минимум действий, а пользы ... . Я не Сишник, всю работу по Си делает мой коллега (и то моих знаний хватает), а работа с НВ в любом случае нагибает в сторону Си.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 7
Зарегистрирован: 27.07.10
ссылка на сообщение  Отправлено: 24.02.11 12:14. Заголовок: Pasha Наработок там..


Pasha
Наработок там кот наплакал. Корректно объяснить по-английски ещё хуже

fil пишет:

 цитата:
Сделал embedding браузера получил документ и управляй себе
элементами страницы. Я не понимаю зачем нужно ли писать враппер используя HTMLayout/Sciter ?



Какого браузера? IE или установленного по умолчанию вместо него? Смысл сторонней компоненты как раз в том, чтобы поменьше зависеть от настроек браузера. В MiniGUI есть пример использования ActiveX. Собираем, запускаем и смотрим страницу с картинками. Потом в свойствах Internet Explorer запрещаем вывод графики, после чего в примере смотрим страницу без картинок .

SergejKis
Это больше похоже на оболочку для запуска программ. В таком случае можно просто набросать веб-страничку со ссылками на нужные программы.

По моему, смысл использовать HTMLayout/Sciter в том, что мы фактически имеем только 1 главное окно, функции обработки данных - на родном Harbour, а вот все элементы диалога создаются /позиционируются/размещаются средствами HTML.

P.S. Я думаю, мы уже отклонились от темы.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 89
Зарегистрирован: 17.06.10
ссылка на сообщение  Отправлено: 24.02.11 12:59. Заголовок: Vladimir пишет: Как..


Vladimir пишет:


 цитата:
Какого браузера? IE или установленного по умолчанию вместо него? Смысл сторонней компоненты как раз в том, чтобы поменьше зависеть от настроек браузера. В MiniGUI есть пример использования ActiveX. Собираем, запускаем и смотрим страницу с картинками. Потом в свойствах Internet Explorer запрещаем вывод графики, после чего в примере смотрим страницу без картинок



Я использовал IE ActiveX. Через DOM заполнял поля ввода страницы, нажимал кнопки и т.п.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 3
Зарегистрирован: 14.05.10
ссылка на сообщение  Отправлено: 24.02.11 13:08. Заголовок: Действительно, верне..


Действительно, вернемся к нашим баранам.

1. Начальство "наклоняет" является аргументом только тогда, когда оно "начальство" что-то в этом понимает. Оставляя моральные нормы за скобками, можно поставить халявный MS SQL и через энное время (за которое на LETO к примеру перейти) рапортовать "усё сделано или делается и вот SQL стоит". Проверить-то некому, а все работает и это главный критерий. Или я не прав?

2. А вот если более "адекватное" (к чему только ) начальство, которое предвидит увеличение клиентских мест на порядок или больше, или "хочущее" видеть у себя на экране в режиме реального времени состояние дел, и, самое вкусное, выделяет для этого деньги (в первую очередь на зарплату ), то тогда переход куда-то в "сикуэл" или еще дальше оправдан. Я сам в первых рядах!

Наконец, последнее. Чё-то я никак не пойму чем DBF-то так плох, что избавляться от него надо "пренепременнейше". Ну если туева хуча прог пашет и пользует его (не к добру, но упомянем хоть 1С 7.7), если задачи решаются и пр. чего искать себе приключений на . Только ради понтов?! А у меня все на "огненной птичке" или "сикуэле"

А вот изучать, экспериментировать - это без проблем! У кого кателок еще варит, есть силы и время - знамя в руки. Это всегда надо и в хозяйстве пригодится!
Не этого ли на самом деле хотел автор поста?



Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 12
Зарегистрирован: 18.02.11
ссылка на сообщение  Отправлено: 24.02.11 14:33. Заголовок: Vladimir пишет:написать враппер...


Что Вы имеете ввиду ? Разве недостаточно обвязать вызвы HTMLayout.dll HB_FUN( ... ), чтобы получить полное управление ?

Согласен, что это по другой теме, а не здесь.

Sciter отбрасываю сразу, поведение контрола Grid очень отличается от dll в худшую сторону и зачем еще один язык (типа jscript) в проекте?


Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 8
Зарегистрирован: 27.07.10
ссылка на сообщение  Отправлено: 24.02.11 17:20. Заголовок: SergejKis Разве не..


SergejKis


 цитата:
Разве недостаточно обвязать вызвы HTMLayout.dll HB_FUN( ... ), чтобы получить полное управление ?



Достаточно, но обвязать примерно вот такой фрагмент обработчика событий Скрытый текст
для меня нереально.


 цитата:
зачем еще один язык (типа jscript) в проекте



Для изменения отображаемых данных. Вместо обёрток для функций.

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 39
Зарегистрирован: 22.09.09
ссылка на сообщение  Отправлено: 24.02.11 19:55. Заголовок: Perec п.1 в Вашем по..


Perec
п.1 в Вашем посте уже не актуален - начальство со своими "наклонами" выпроводили на заслуженный отдых.
А вот Ваш п.2 в части:

 цитата:
увеличение клиентских мест на порядок или больше, или "хочущее" видеть у себя на экране в режиме реального времени состояние дел,


почти полностью отражает суть вопроса.

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 40
Зарегистрирован: 22.09.09
ссылка на сообщение  Отправлено: 24.02.11 20:21. Заголовок: Смотрел PostgreSQL. ..


Смотрел PostgreSQL. Там, кроме ODBC драйвера, есть и драйвер для С/С++.
Поскольку заявлено, что в НВ можно писать на С/С++, и сам НВ, если я правильно понимаю, является клиппер-оберткой на Си, то существует ли возможность использовать в нем СИшный драйвер? Если да, то как?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 477
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 24.02.11 22:30. Заголовок: S-A-N пишет: Смотре..


S-A-N пишет:

 цитата:
Смотрел PostgreSQL. Там, кроме ODBC драйвера, есть и драйвер для С/С++....



Дайте ссылку на этот "драйвер". Словосочетание "драйвер для С/С++" звучит весьма абстрактно. Поэтому со слов ничего не ответить "Драйвер" же - это понятие из ODBC, в ADO (OleDB) принято название Провайдер. В прямых же библиотеках (С++/Delphi) понятно, что такие термины отсутствует.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1030
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 25.02.11 02:08. Заголовок: S-A-N пишет: Поскол..


S-A-N пишет:

 цитата:
Поскольку заявлено, что в НВ можно писать на С/С++, и сам НВ, если я правильно понимаю, является клиппер-оберткой на Си, то существует ли возможность использовать в нем СИшный драйвер?


А чем по вашему был Clipper?
Это не драйвер. Это библиотека доступа "Client API for C/C++". Использовать можно. Собственно contrib/hbpgsql построен на использовании API PostgreSQL.

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 42
Зарегистрирован: 22.09.09
ссылка на сообщение  Отправлено: 25.02.11 08:24. Заголовок: Петр пишет: Это не ..


Петр пишет:

 цитата:
Это не драйвер. Это библиотека доступа "Client API for C/C++"


Вы совершенно правы. Виноват, исправлюсь.

Петр пишет:

 цитата:
Использовать можно


Как? С С/С++ у меня туговато. Где можно посмотреть пример использования?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1031
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 25.02.11 08:59. Заголовок: S-A-N пишет: Как? С..


S-A-N пишет:

 цитата:
Как? С С/С++ у меня туговато. Где можно посмотреть пример использования?


Вы структуру каталогов Harbour знаете?
Если сама библиотека размещена в harbour/contrib/hbpgsql, то примеры в harbour/contrib/hbpgsql/tests соответственно.
Как компилировать библиотеку - читайте в INSTALL (HB_WITH_PGSQL)

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 43
Зарегистрирован: 22.09.09
ссылка на сообщение  Отправлено: 25.02.11 09:16. Заголовок: Петр пишет: Если са..


Петр пишет:

 цитата:
Если сама библиотека размещена в harbour/contrib/hbpgsql, то примеры в harbour/contrib/hbpgsql/tests соответственно.


У меня установлен HB+MiniGUI. В MiniGUI/Harbour находятся только папки bin, doc, include, lib.

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 44
Зарегистрирован: 22.09.09
ссылка на сообщение  Отправлено: 25.02.11 09:22. Заголовок: Петр, установил отде..


Петр, установил отдельно "чистый" НВ - все как Вы говорили. Спасибо. Ушел разбираться.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 13
Зарегистрирован: 18.02.11
ссылка на сообщение  Отправлено: 25.02.11 16:01. Заголовок: S-A-N пишет:Ушел разбираться...


Познавание нового это оченть хорошо ! Но поверьте моему опыту потратите очень много времени, а получите ли выигрыш (знания не имею ввиду) это большой вопрос, учитывая сегодняшнее соостояние Вашего комплекса задач. У меня под VO 2.7 реализация клиентов для MySql 3.3.7, 4.0, 4.1,5.0, для Firebird 1.5, 2.0 - это много времени, тригера и процедуры на сервере (поддержка их от версии к версии Ваших задач), преобразование структур и баз данных с продвижением версий Ваших задач ... могу продолжать, но лень писать. Если это Вам очень необходимо, то флаг в руки ...

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 14
Зарегистрирован: 18.02.11
ссылка на сообщение  Отправлено: 25.02.11 17:43. Заголовок: Для Vladimir


Спасибо, понял, Вы имели ввиду обработчик событий.
А по поводу языка (я знаю для чего нужен Sciter, слежу за HTMLayout проектом давно), я имел ввиду наличие в проектах и так много всяких файлов prg,ini,cfg,vos,vox,hs,hrb,gui среда, js,vbs,bat,cmd, ... Что когда возвращаеся в проект(задачу) через пару лет, то разбираться что где лежит и что делает ... отнимает много времени. Добавление еще одного это время не сократит.
Но за ответ спасибо.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 1
Зарегистрирован: 27.08.10
ссылка на сообщение  Отправлено: 12.07.11 16:16. Заголовок: mssql stored procedure


Здравствуйте.
Пишу на Harbour 2.0.0, консольное приложение, своя база dbfcdx. Возникла задача обмениваться данными посредством хранимых процедур с майкрософтовским sql сервером. (конкретно - преселинг "Оптимум")
Требуется
1. подключиться к серверу HOME_PC, к базе Optimum
2. вызвать DMT_Set_UnitEx с параметрами {1,"Оплата",NULL,"Оплата наличными",1} и прочитать её ответ.
Застопорился наглухо.
Подскажите, возможно ли это сделать, и если - да, то как?



Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 1994
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 12.07.11 19:04. Заголовок: Lopatin пишет: Пишу..


Lopatin пишет:

 цитата:
Пишу на Harbour 2.0.0, консольное приложение, своя база dbfcdx. Возникла задача обмениваться данными посредством хранимых процедур с майкрософтовским sql сервером. (конкретно - преселинг "Оптимум")
Требуется
1. подключиться к серверу HOME_PC, к базе Optimum
2. вызвать DMT_Set_UnitEx с параметрами {1,"Оплата",NULL,"Оплата наличными",1} и прочитать её ответ.
Застопорился наглухо.
Подскажите, возможно ли это сделать, и если - да, то как?



Думаю, надо смотреть в сторону ADODB.Command
Поищите примеры, скажем вот:
http://www.sql.ru/docs/mssql/adoandsql/index.shtml


Спасибо: 1 
ПрофильЦитата Ответить



Пост N: 2
Зарегистрирован: 27.08.10
ссылка на сообщение  Отправлено: 14.07.11 18:45. Заголовок: mssql stored procedure


Pasha пишет:

 цитата:
Думаю, надо смотреть в сторону ADODB.Command


Спасибо, толкнули в нужном направлении. Почитав о принципах работы ADODB встретил язвительное упоминание о схожести с "SQLCMD.EXE", им и воспользовался.
Может, кому-нибудь пригодится такой вариант.
1. Создаю текстовый файл с SQL инструкциями "DMT_Set_PaymentTypeEx.Txt"

 цитата:
Execute DMT_Set_PaymentTypeEx "1","Оплата",NULL,"Оплата наличными",1
Execute DMT_Set_PaymentTypeEx "2","Черновик",NULL,"Черновик",1


2. Выполняю
SQLCMD.EXE -E -S HOME_PC -d Optimum -i DMT_Set_PaymentTypeEx.Txt -o DMT_Set_PaymentTypeEx.Res

3. Читаю и анализирую содержимое DMT_Set_PaymentTypeEx.Res
Вероятно, можно и проще, но под мои задачи подошло.


Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 14
Зарегистрирован: 25.03.10
ссылка на сообщение  Отправлено: 26.12.11 14:05. Заголовок: Всем доброго времени..


Всем доброго времени суток! У меня приложение крутится на MSSQL 2000. Используя сборку от Филатова, я написал задачку, которая бэкапит, архивирует базы и копирует архивы по другим носителям. При этом я использую утилиту OSQL, что, в принципе аналогично методу Lopatin'а.
Но, все-таки, может у кого-то есть примерчик, как приконнектиться и сделать бэкап с помощью ADO? Спасибо

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 41
Зарегистрирован: 24.04.13
ссылка на сообщение  Отправлено: 05.11.13 09:01. Заголовок: Есть ли у кого-нибуд..


Есть ли у кого-нибудь рабочий пример доступа из консольной Harbour-программы к данным
из базы MySQL.
Допустим все данные в DBF, а в MySQL есть один внешний справочник из которого нужно выбирать запись по коду.




Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 83
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 13.03.17 12:49. Заголовок: Не знаю куда с этим...


Не знаю куда с этим. Напишу сюда:

Есть базы MS SQL. Нужно из них взять данные для базы dbf. Как это лучше сделать?

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 3541
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 13.03.17 13:19. Заголовок: Один из вариантов - ..


Один из вариантов - с помощью rddado. А лучший он, или нет - кто его знает. Может есть способ и получше.

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 84
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 13.03.17 13:59. Заголовок: Pasha пишет: rddado..


Pasha пишет:

 цитата:
rddado



А можно про него подробнее? Или гуглить?

И есть ли он в xHarbour? Или только в Harbour?

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 3542
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 13.03.17 14:35. Заголовок: Есть и в xHarbour, и..


Есть и в xHarbour, и в Harbour
В Harbour - в папке extras\rddado. Библиотеку надо собирать самостоятельно, скрипт для сборки имеется.
Есть и примеры использования. mysql1.prg - пример для mysql.
Для MS SQL надо использовать команду:
USE ... VIA "ADORDD" TABLE ... SQL ...

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 90
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 27.03.17 10:49. Заголовок: Pasha пишет: В Harb..


Pasha пишет:

 цитата:
В Harbour - в папке extras\rddado. Библиотеку надо собирать самостоятельно, скрипт для сборки имеется.



Нашел в папке examples. Библиотеку собрал. Теперь выдает:

Error: Unresolved external '_HB_FUN_WIN_OLECREATEOBJECT' referenced from C:\HB30\LIB\WIN\BCC\RDDADO.LIB|adordd
Error: Unresolved external '_HB_FUN_WIN_OLEAUTO' referenced from C:\HB30\LIB\WIN\BCC\RDDADO.LIB|adordd

Нашел. hbwin.lib нужен для OLE.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 132
Зарегистрирован: 24.04.13
ссылка на сообщение  Отправлено: 25.05.17 11:21. Заголовок: rvu , у Вас Получило..


rvu , у Вас Получилось подвязать MSSQL ?

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 142
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 08.08.18 16:26. Заголовок: azoo пишет: у Вас П..


azoo пишет:

 цитата:
у Вас Получилось подвязать MSSQL ?



Нет, тогда не получилось. Мучился несколько дней, потом это дело забросил, а сейчас опять очень нужно. Я. конечно, могу вспомнить, что тогда было, но боюсь опять ничего не получится.

Неужели никто никогда не подключался?

MS SQL у нас 2000.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 6900
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 08.08.18 17:17. Заголовок: rvu пишет: Неужели ..


rvu пишет:

 цитата:
Неужели никто никогда не подключался?


Попробуй спросить гугл например такой строкой
harbour ms sql

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 143
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 22.11.18 16:37. Заголовок: azoo пишет: у Вас П..


azoo пишет:

 цитата:
у Вас Получилось подвязать MSSQL ?



Как минимум я к нему подключился и нужную мне информацию забрал. Это оказалось совсем не сложным, ибо нашелся готовый пример в Минигуи.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 6126
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 22.11.18 19:23. Заголовок: rvu пишет: ибо наше..


rvu пишет:

 цитата:
ибо нашелся готовый пример в Минигуи.


Дай тогда для всех путь к примеру ?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 6972
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 22.11.18 22:03. Заголовок: Andrey пишет: Дай т..


Andrey пишет:

 цитата:
Дай тогда для всех путь к примеру ?


В Far Manager поиск фразы SQL по примерам у тебя молчит разве , или FARа нет ?

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 144
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 23.11.18 12:21. Заголовок: Andrey пишет: Дай т..


Andrey пишет:

 цитата:
Дай тогда для всех путь к примеру ?



\MiniGUI\SAMPLES\Advanced\MSSQL\

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 6127
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 23.11.18 13:17. Заголовок: Dima пишет: В Far M..


Dima пишет:

 цитата:
В Far Manager поиск фразы SQL по примерам у тебя молчит разве , или FARа нет ?


Поиск есть, но может быть несколько примеров и тогда непонятно о чем вел речь автор.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 137
Зарегистрирован: 24.04.13
ссылка на сообщение  Отправлено: 10.12.18 11:45. Заголовок: А можно ли данный пр..


А можно ли данный пример адаптировать под Harbour (без miniGUI)?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 2159
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 10.12.18 13:59. Заголовок: azoo пишет А можно л..


azoo пишет
 цитата:
А можно ли данный пример адаптировать под Harbour (без miniGUI)?


 
1. Замените button менюшкой, на выполнение то, что в action функции, эти строки
@ 30,400 button btnButton1 caption "Connect to database" width 150 action ConnectDatabase()
@ 60,400 button btnButton2 caption "Create table" width 150 action Table_Create()
@ 90,400 button btnButton3 caption "Fill with data" width 150 action Table_Fill()
@120,400 button btnButton4 caption "Browse data" width 150 action Table_Browse()
@150,400 button btnButton5 caption "Disconnect" width 150 action DisconnectDatabase()

2. Замените label на SAY, а textbox на GET, строки
@ 32 , 30 label labLabel1 value "Server:" width 60
@ 30 ,100 textbox txtServer value "SERVER\SQLEXPRESS" width 250
@ 62 , 30 label labLabel2 value "Database:" width 60
@ 60 ,100 textbox txtDatabase value "test"
@ 92 , 30 label labLabel3 value "Table:" width 60
@ 90 ,100 textbox txtTable value "demo"
@ 122, 30 label labLabel4 value "Username:" width 65
@ 120,100 textbox txtUser value "sa"
@ 152, 30 label labLabel5 value "Password:" width 60
@ 150,100 textbox txtPass value "pass"
это в функции ConnectDatabase() делаем

3. строки
Win1.btnButton1.Caption := "Connected"
Win1.btnButton1.Caption := "Connect to database"
...
это статусные сообщения -> в SAY замените (строка индикации)

4. строки
MsgInfo( "Table '"+win1.txtTable.value+"' created." ) - сообщение информационное
MsgStop( "Table '" + win1.txtTable.value+"' not created." ) - ошибка
заменяем Alert(...)

5. строки
DEFINE WINDOW Win2 ;
AT Win1.row+100,Win1.col+10 ;
WIDTH 500 HEIGHT 400 ;
TITLE 'Browse MSSQL data' ;
MODAL;
FONT 'Arial' SIZE 10

ON KEY Escape ACTION ThisWindow.Release

@ 20,20 BROWSE brwBrowse1 ;
...
END WINDOW
ACTIVATE WINDOW Win2
...
меняем на browse(...)

PS.
Если пункт "Connect to database" выполнен успешно - работают остальные пункты меню, иначе нет соединения с sql


Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 180
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 12.11.19 17:35. Заголовок: rvu пишет: Как мини..


rvu пишет:

 цитата:
Как минимум я к нему подключился и нужную мне информацию забрал.



Понадобилось забрать рисунки из MSSQL 2000, тип поля image и не знаю как. Даже не обязательно забрать в харборовскую базу, можно просто файлом рисунка, так даже лучше. Как бы это сделать?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7137
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 12.11.19 17:40. Заголовок: rvu пишет: Как бы э..


rvu пишет:

 цитата:
Как бы это сделать?


Погуглить можно......например вот

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 181
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 12.11.19 18:39. Заголовок: C#.....


C#...

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 182
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 14.11.19 08:29. Заголовок: В итоге то что нужно..


В итоге то что нужно, сделал на дельфи. Коллега нашел свою старую программу, которую я подправил под свои нужды. А C# у нас с ним так и не пошел. Та программа не заработала, а быстро разобраться с ней не смогли.
Но в идеале было бы на харборе это сделать.

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 3895
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 14.11.19 12:04. Заголовок: rvu пишет: Но в иде..


rvu пишет:

 цитата:
Но в идеале было бы на харборе это сделать.



Можно использовать AdoRDD
Можно работать с базой через механизм Ole, вызывая те же методы, что в примере по ссылке

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 196
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 13.12.19 15:19. Заголовок: Очередные проблемы с..


Очередные проблемы с MSSQL.

Забираю себе данные из него. Если таблица довольно большая, то моя программа отваливается. Просто валится без всяких сообщений об ошибке.
Критично не число записей, а именно размер таблицы. Т.е. если полей больше, то и отвалится программа при меньшем числе записей.

Вопрос даже не в том, как этого избежать, хотя это было бы здорово. Но можно ли как-то само событие отследить, предупредить сваливание программы?

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1403
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 13.12.19 20:21. Заголовок: rvu пишет: Если та..


rvu пишет:

 цитата:
Если таблица довольно большая, то моя программа отваливается.


А вы читаете всю таблицу одним запросом?

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 197
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 13.12.19 20:50. Заголовок: alkresin пишет: А в..


alkresin пишет:

 цитата:
А вы читаете всю таблицу одним запросом?



Я подключаюсь, как в этом примере:

rvu пишет:

 цитата:
\MiniGUI\SAMPLES\Advanced\MSSQL\



Затем работаю с таблицей, будто она dbf. Забрал данные из записи, skip и далее.

А как надо? Я просто другого не нашел.

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1404
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 14.12.19 09:32. Заголовок: Посмотрел этот приме..


Посмотрел этот пример - да, там действительно одним запросом берется вся база и конвертится в dbf. Это, конечно, самый простой способ, но ... Помимо того, что это не будет нормально работать на сколько-нибудь больших базах, это крайне неэффективно и противоречит самому смыслу использования клиент-серверной технологии. Подумайте: чтобы найти и посмотреть несколько записей, вы скачиваете с сервера всю базу.
Если вам нужен обязательно browse всей базы, забирайте с сервера по частям - те куски, что будут сейчас на экране, может, с небольшим запасом. Я не знаком с minigui и его browse, но там должны быть какие-то обработчики, блоки кода, чтобы контролировать чтение данных из источника.
В качестве примера, чтобы посмотреть, о чем речь, могу порекомендовать свой менеджер для sqlite: https://github.com/alkresin/dbc_sqlite. Это, естественно, на hwgui, но общая концепция от gui не зависит.

Спасибо: 1 
ПрофильЦитата Ответить
администратор




Пост N: 1508
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 16.12.19 11:11. Заголовок: alkresin пишет: одн..


alkresin пишет:

 цитата:
одним запросом берется вся база и конвертится в dbf


Тоже пример посмотрел. Вроде нет там конвертации ни частями , ни целиком. Все в рамках идеологии клиент-сервер
1) Connect он и в любом сервере коннект
2) Create - тоже
3) Fill - обычный SQL запрос Insert into построчно
4) Browse - есть о чем поговорить , но для данного примера все правильно
а поговорить вот о чем:
SELECT * не всегда нужно , действительно лучше определенные поля и именно те которые нужны , запрос короче, выполняется быстрее , трафик меньше и тд. ( в этом примере нужны все )
BROWSE - не всю базу тащит сразу , а только на количество записей в окне самого бровса и не принципиально сколько там миллионов записей в базе, подкачка будет динамической если это бровс , а не грид по заранее заполняемому массиву.
из подводных камней - только то что при навигации в пределах окна данных, бровс каждую запись дергает несколько раз ( во всяком случае TSBrowse из MG ), второй камень , это в бровсе подстановка данных (
вместо поля с ID , показываем значение из справочника ). И эти камни не относятся к SELECT *
5) и обычный Disconnect

То что по частям бровсить может быть оптимальнее согласен, но в паре с кешированием этой части на клиенте и при плохом канале.
При поиске разумеется SELECT cField WHERE cCondition, а не SELECT * и потом WHILE !cCondition

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1405
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 16.12.19 12:29. Заголовок: Да, конвертации, вро..


Да, конвертации, вроде, нет - это я поторопился. Но все остальное - в силе. Проблема в этом предложении:

DBUSEAREA( .T.,"SQLMIX", "SELECT * FROM "+Win1.txtTable.value, "table" ,,,,nSQLConnection )

Как я понял из rddsql/readme.txt, при этом выкачиваются сразу все записи (в исходники их лезть неохота, чтобы проверить) - это и ожидаемо, иначе программа не вылетала бы.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3001
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 16.12.19 13:25. Заголовок: rvu пишет Я подключа..


rvu пишет
 цитата:
Я подключаюсь, как в этом примере: \MiniGUI\SAMPLES\Advanced\MSSQL\


В работе не использовал бы схему этого примера в лоб. Выборки получал бы в MEMIO\DBF или array для показа в TBROWSE\BROWSE с использованием WHERE и LIMIT, т.к. после WHERE может быть много записей и та же фигня
 цитата:

Критично не число записей, а именно размер таблицы. Т.е. если полей больше, то и отвалится программа при меньшем числе записей.


Для работы с DBUSEAREA( .T.,"SQLMIX", "SELECT * FROM "+Win1.txtTable.value, "table" ,,,,nSQLConnection ) ( дополненной WHERE LIMIT ) на TBROWSE вешал бы обработчики (можно кнопки) листания (смены LIMIT), но это, лениво, обошелся бы в большинстве случаев выборкой как сказал выше. Кроме просмотра есть и др. операции, т.е. для каких целей выборка.

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 199
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 16.12.19 16:09. Заголовок: SergKis пишет: т.е...


SergKis пишет:

 цитата:
т.е. для каких целей выборка



Лично мне нужно просто разово забрать все данные из базы sql. Дальше уже работаю с файлом dbf.
Собственно, для этих целей я могу их и кусками забрать, а потом уже у себя склеить. Так что сейчас мне не критично разобраться в этом, это потом для красоты процесса можно.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1575
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 16.12.19 17:28. Заголовок: rvu пишет: могу их ..


rvu пишет:

 цитата:
могу их и кусками забрать


Конечно кусками. Весь смысл SQL в оптимальных запросах.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3002
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 16.12.19 20:08. Заголовок: rvu пишет Лично мне ..


rvu пишет
 цитата:
Лично мне нужно просто разово забрать все данные из базы sql. Дальше уже работаю с файлом dbf.


Тогда, возможно, достаточно утилиты типа isql.exe (в mysql, fb есть, должна быть и для mssql).
Запрос SELECT * FROM ... должен работать точно. Результат можно получать в xml или txt файлах и заливать в dbf для работы.
Для команд INSERT, UPDATE, ... так же можно исп. эту утилиту. Работает быстро и работа в фоне ... тоже свои ++

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 200
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 17.12.19 08:08. Заголовок: SergKis пишет: Резу..


SergKis пишет:

 цитата:
Результат можно получать в xml или txt файлах и заливать в dbf для работы.



Это лишнее движение будет. Я запросом в sql делаю нужную мне выборку во временную таблицу, из нее напрямую перекачиваю данные в dbf.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 136 , стр: 1 2 3 4 5 6 7 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 26
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет