2014 dxdy logo

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

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




На страницу Пред.  1, 2
 
 
Сообщение17.03.2006, 01:16 
Аватара пользователя
: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 
Я, кстати, нашел у себя самый полный комплект борландовской документации по InterBase 6. 13 метров, могу выслать. И нашел FB NetProvider с полным описанием. По сути это SDK, который расширяет пространство имен, то есть можно пользоваться объектами FB из VB.NET или C#. Теоритически можно сделать мост между FB и Office

 
 
 
 
Сообщение17.03.2006, 04:42 
Аватара пользователя
:evil:
Я могу с удовольствием порекомендовать ibexpert -- бесплатно для бСССР. Очень толковая программа, помогает решить массу проблем. Для загрузки перейдите на русскую страницу.

 
 
 
 
Сообщение17.03.2006, 12:08 
Аватара пользователя
Во-первых есть "персональный Оракл", забыл как точно называется продукт, его легче администрировать. Во-вторых, как и со всем ПО, тут важна преемственность. Если вы раньше работали с микрософтовскими штучками, то лучше выбрать MS SQL Server (он тоже есть персональный, тоже забыл, как нзывается).

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

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

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

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

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

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

 
 
 
 
Сообщение17.03.2006, 14:33 
Аватара пользователя
незванный гость писал(а):
: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 
Аватара пользователя
:evil:
"""Мы снова говорим на разных языках"""

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

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

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

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

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

 
 
 [ Сообщений: 22 ]  На страницу Пред.  1, 2


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group