2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2
 
 
Сообщение17.03.2006, 01:16 
Заслуженный участник
Аватара пользователя


17/10/05
3709
:evil:
ПВА писал(а):
Да, можно работать с чем угодно (имеется виду интерфейс доступа к данным – СУБД), но я имею ввиду именно ODBC, как действительный стандарт на платформе Windows, и я работаю ч/з него. Можно долго спорить и высказывать разные мнение по поводу этой технологии, но на сегодняшний день – это де-факто. И я не заметил явных минусов у этой технологии (Вы из VB пробовали работать с «короткими» датами из MS SQL?), поэтому и использую её. Это именно средства ОС (Средства ОС – всё что интегрировано разработчиком в эту ОС) и Office тут не причем.

Ну, во первых, а в чем состоит интеграция ODBC в ОС? В оффис -- понятно, MS чихать хотел на конкурентов, и предлагает всем врагам идти по старым гатям. Зато -- посмотрите, как он летает с нашим SQL xxxx :D. А в OS? Использование registry или запись своих DLL в системный директорий -- еще не интеграция. И то, что убирать непонятно как -- тоже. Мне это зело Сониевский rootkit напоминает.

Ну а de facto -- да стандарт. До очередного изменения политики MS. Перестанет Office поддерживать ODBC, и я посмотрю на этот "стандарт".

ПВА писал(а):
А как Вы определите такой вариант – я запускаю с консоли «батничек» с командой на исполнение пакета DTS – тут то вроде Office и не пахнет. А это у меня используется для получения данных из DBASE базы.

Ага. Наличие утилиты назовем интеграцией. :) И то, что эта утилита поддерживает ODBC -- победой. А как Вам такой сценарий -- я напишу на Жабе утилиту, которая будет работать через JDBC. И она будет "переносимо" работать с базами, не существующими в MS, коль скоро соответствующий интерфейс сделан разработчиком. (Кстати, Dbase ли эта поддержка? Или, быть может собственного MS Foxpro?)

Видите ли, ODBC -- распространенный интерфейс, с этим спорить глупо. Так же как и с тем, что многие приложения его успешно используют. И с тем, что многие разработчики имеют опыт работы с ним. Тем не менее, мне не очень понятно, сколько еще он проживет. Он разрабатывался на старые БД, типа dbase или access. И эти его врожденные дефекты уже мешают в том числе и MS. Новые версии Оффиса начали незаметно выталкивать пользователя животами на варианты server'а. И Бог с ним, с MS.

ПВА писал(а):
Вы работаете на прямую, хорошо, и как Вы ставите софт на машину клиента? Я – просто копирую экзешник (если это только клиент). Возможно, я не прав, но в случае с FireBird, мне пришлось скинуть еще и библиотеку и порт открыть – это констатация по факту, не утверждение.

Я делаю скрипт для установки. И мне, коли честно, до фени, сколько он файлов скопирует. С портами -- дело более хитрое. Security -- тяжелый вопрос. Что лучше -- явно открыть порт FB, или держать открытыми порты для DCOM? Или топтать 80 до полной неузнаваемости. Заметьте, что злоупотребление 80 приведет к очередному витку в работе firewall, которые будут проверять, что это за html такой. И новому уровню упаковки данных, чтобы их обмануть. И .... до опупения.

ПВА писал(а):
Если я сменил сервер – для MS SQL ничего делать не надо, если имя сервера БД не менялось, а в случае с FireBird что будет (прямой доступ, как я понял – «имя машины/IP: <путь к БД/псевдоним>»?) в этом случае?

Ух ты! Телепатия в MS! Да еще и индивидуальная для каждого пользователя! :P
Простите мне язвительность, но ведь чудес не бывает. В конце концов, Вы пользуетесь TCP/IP сетью. Значит, какая то программа где-то должна послать пакет на правильный IP адрес. Значит, он как-то где-то указывается.

Другой вопрос, Вы используете имя, которое автоматически разрешается в адрес. Или храните в регистре ассоциацию между именем БД и сервером. Так никто Вам не мешает делать тоже самое с FB. Да, FB за Вас этого не сделает. Но в программе Вы сделаете это один раз, а не на каждой машине с клиентом.

~~~~

Вы правы, у продуктов и подходов MS есть достоинства. MS вкладывает массу усилий и денег, чтобы сократить цикл разработки типового приложения своих пользователей. Но, по моему опыту -- маленькая компаниия не их клиент. А вот деньги дерут -- Вы правы тоже. Впрочем, заметно меньше, чем Oracle или IBM. Впрочем, и это меняется.

У FB свои компромисы, другие чем у MS. Согласен, субъективно на 100%, но мне они больше по вкусу, чем MS. (Это касается и версий -- я работаю на замороженной 2 года назад, и как-то не чихаю.)

 Профиль  
                  
 
 
Сообщение17.03.2006, 03:50 


10/02/06
54
Я, кстати, нашел у себя самый полный комплект борландовской документации по InterBase 6. 13 метров, могу выслать. И нашел FB NetProvider с полным описанием. По сути это SDK, который расширяет пространство имен, то есть можно пользоваться объектами FB из VB.NET или C#. Теоритически можно сделать мост между FB и Office

 Профиль  
                  
 
 
Сообщение17.03.2006, 04:42 
Заслуженный участник
Аватара пользователя


17/10/05
3709
:evil:
Я могу с удовольствием порекомендовать ibexpert -- бесплатно для бСССР. Очень толковая программа, помогает решить массу проблем. Для загрузки перейдите на русскую страницу.

 Профиль  
                  
 
 
Сообщение17.03.2006, 12:08 
Заслуженный участник
Аватара пользователя


16/03/06
405
Moscow
Во-первых есть "персональный Оракл", забыл как точно называется продукт, его легче администрировать. Во-вторых, как и со всем ПО, тут важна преемственность. Если вы раньше работали с микрософтовскими штучками, то лучше выбрать MS SQL Server (он тоже есть персональный, тоже забыл, как нзывается).

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

Кроме того, сервера СУБД позволяют задавать всякие правила целостности, то есть, правила, которые данные не должны нарушать. Это очень важно, так как позволяет избежать ошибок в данных, которые всегда норовят туда пролезть, если данных много.

Да, вообще, сервера СУБД нужны обычно, когда данных много.

Кроме того, сервера СУБД используются в веб-программировании для хранения данных отдельно от дизайна. Но там чаще всего используются облегчённые программы типа MySQL.

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

Российский портал по СУБД тут: http://www.sql.ru
Там и форум есть.

 Профиль  
                  
 
 
Сообщение17.03.2006, 14:33 
Аватара пользователя


13/03/06
36
Урал
незванный гость писал(а):
:evil:
Ну, во первых, а в чем состоит интеграция ODBC в ОС? В оффис -- понятно, MS чихать хотел на конкурентов, и предлагает всем врагам идти по старым гатям. Зато -- посмотрите, как он летает с нашим SQL xxxx :D. А в OS? Использование registry или запись своих DLL в системный директорий -- еще не интеграция. И то, что убирать непонятно как -- тоже. Мне это зело Сониевский rootkit напоминает.

В своё время, я так покромсал Win95 так – что «это» не должно было работать в принципе, работало. (для заинтересованных органов – все делалось в учебных целях, без нарушения лицензионных ограничений).
Я не системщик (специализация определяется по месту работы, а не по месту выпуска). А по сему, я подхожу к этому вопросу как пользователь (Ведь разработчик ПО – это по сути пользователь, для тех же разработчиков, например ОС). Давайте не будем переходить на архитектуру ОС – это предмет иного разговора. И почему офис стал камнем преткновения? Это же только очередной, один из многих прикладных продуктов. Речь не идет об экспериментах, да и кто их позволит на рабочих машинах делать? Именно по этому, если уж работа идет в среде Windows – то и пользоваться предпочтительней тем, что уже там есть (не считая экзотики). Это подход не мой, а любого менеджера IT, и именно так принимаются решения – с наименьшими затратами, уверяю Вас, речь о разработке, или приобретении / внедрении чего-то стороннего, принимается в последнею очередь. Хорошо поставленная, настроенная и укомплектованная для конкретных задач ОС – не требует последующих манипуляций с реестром или еще каких либо, направленных на «переделку» или исправление чего-то. Эта ОС классифицируется по категории «С2» (NCSC) – что определяет её надежность в комплексе (речь о NT5 и выше).
незванный гость писал(а):
:
Ну а de facto -- да стандарт. До очередного изменения политики MS. Перестанет Office поддерживать ODBC, и я посмотрю на этот "стандарт".

А что, UNIX/Linux тоже будут пересматривать тогда этот интерфейс? Ведь и там ODBC работает.Я не сторонник продуктов Microsft, и дома я работаю в Debian на работе стоит фри. Но пока этот огромный парк крутится на MS - деваться не куда, и решения надо искать именно с учетом этой платформы, как бы мы не относились к этому продукту.
незванный гость писал(а):
:
Ага. Наличие утилиты назовем интеграцией. :) И то, что эта утилита поддерживает ODBC -- победой. А как Вам такой сценарий -- я напишу на Жабе утилиту, которая будет работать через JDBC. И она будет "переносимо" работать с базами, не существующими в MS, коль скоро соответствующий интерфейс сделан разработчиком. (Кстати, Dbase ли эта поддержка? Или, быть может собственного MS Foxpro?)

Ковыряю я из таблиц последовательного доступа – так понятней? Пишет туда задача написанная в 19.. на Pascal. Формат – DBASE. Это не утилита ОС – это утилита MS SQL, а ОС позволяет работать на определенном порту, по определенному протоколу. Кстати, это ответ – как ОС «видит» сервак – по сетке идет широковещательный запрос/посылка о работе службы на данном порту.

незванный гость писал(а):
:
С портами -- дело более хитрое. Security -- тяжелый вопрос. Что лучше -- явно открыть порт FB, или держать открытыми порты для DCOM? Или топтать 80 до полной неузнаваемости. Заметьте, что злоупотребление 80 приведет к очередному витку в работе firewall, которые будут проверять, что это за html такой. И новому уровню упаковки данных, чтобы их обмануть. И .... до опупения.

Задача сетевого транспорта – вещь занимательная, когда сам, в спокойной обстановке что-то творишь, но это не для работы, кода нужен результат, к тому же «еще вчера»… Поэтому, используются стандартные подходы. У нас есть два контроллера, делали итальянцы, знали бы Вы, сколько проблем научить общаться между собой их, и наш софт. Это речь о портах и протоколах.

незванный гость писал(а):
:
Другой вопрос, Вы используете имя, которое автоматически разрешается в адрес. Или храните в регистре ассоциацию между именем БД и сервером. Так никто Вам не мешает делать тоже самое с FB. Да, FB за Вас этого не сделает. Но в программе Вы сделаете это один раз, а не на каждой машине с клиентом.

Я не понял, Вы имеете ввиду файл-серверную работу? Когда один исполняемый файл на всех пользователей? Или у Вас статически «прошито» всё в программе? Что значит изменить один раз в программе а не на всех клиентах, как-то не понял это ворожение. Это что, требуется пересборка софта?
Хотелось бы услышать мнение Фомы, на этот счет, а то мы с Вами что-то не туда пошли, как мне кажется. Его замечания по поводу «безпроблеммной» интеграции очень интересны.

 Профиль  
                  
 
 
Сообщение17.03.2006, 18:44 
Заслуженный участник
Аватара пользователя


17/10/05
3709
:evil:
"""Мы снова говорим на разных языках"""

Я отличаю Оффис от ОС, потому, что не у всех стоит Оффис. В Вашей организации -- у всех, и я понимаю Вас. У меня -- нет, и мне приходиться находить решения, от него не зависящие.

Меня несколько выбивает из колеи Ваш ответ. Вы пишите грамотно -- о "сетевом транспорте", о том "как ОС видит сервак", но я никак не могу настроиться с Вами на один язык. Вероятно, проблема -- в большой разнице контекста использования готовых разработок.

К примеру, ОС видит сервак. И что Вам мешает в Вашей программе воспользоваться сервисом ОС для разрешения имени сервера в адрес? Это я и имел в виду. Любая программа должна каким-то образом сказать, где расположена база данных. MS мог переложить это на drive mapping, но сколько я об этом не думаю, мне это решение не нравиться (хотя Acceess так и работает). И, естественно, я не имел в виду ни "один файл на всех пользователей", ни "пересборку софта". Я имел в виду, что код, переводящий расположение БД в адрес (удобным для Вашего прилодения образом), Вы напишите один раз в своей программе. А не на каждой машине пользователя. А саркастический пассаж о работе DTP с ODBC как аргумента универсальности ODBC -- Вы поняли как непонимание функции DTP, а не как пример того, что любая программа, напсаннная на верхнем уровне API, будет универcальной.

С контроллерами -- муки у всех (итальянские можно опустить). Потому как на контроллеры ставиться обычно урезанный TCP/IP стек, а не NT5. И, соответственно, приходиться увязывать непривычными средствами. И протоколы частенько -- кустарные. Зато работающие куда быстрее стандартных, и менее ресурсоемкие. Ну, да стандартные тоже не на небеси писаны. А были кустарными, стали стандартными.

 Профиль  
                  
 
 
Сообщение17.03.2006, 21:14 
Аватара пользователя


13/03/06
36
Урал
:D Суть проблемы простая – я обосновал свой выбор MS SQL, но меня не устраивает как скорость работы этого сервера, так и то, что по завершении проекта, потребуется скорее всего искать сервак БД (примем это как факт). Я заинтересовался Oracle в основном из-за возможности его работы с объектами. Идея эфемерная в части того, что я действительно не знаком с ним, что бы «вдруг» весь проект поставить на него. Но я знаю, что есть разные версии этой СУБД, вот и задал вопрос – что скажут практики. Вопрос ушел в пустоту. Но зато, поднялось обсуждение о FireBird – и я этому рад. Я давно поглядываю в эту сторону, но есть определенные смущения, всё таки, и работу хотелось бы «отдать в хорошие руки», и отсутствие информации заставляет пока видеть только ограничения. Что-то я уже делал, что-то работает на FireBird (ну совсем простенькое), что-то «дублировал» (уже писал) из рабочих задачь и параллельно их запускал – проблем не было, кроме перечисленных выше. Если бы речь шла о том, что бы сделать и забыть… Я бы даже не сомневался. Но я предполагаю, что по мере разработки и внедрения, запросы будут расти, как со стороны функциональности, так и со стороны нагрузки. Я выписал книгу «Firebird. Руководство разработчика баз данных» - ~1000 станиц (Спасибо Фоме). :D

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 22 ]  На страницу Пред.  1, 2

Модераторы: maxal, Toucan, PAV, Karan, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group