Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Firebird, InterBase Новый топик    Ответить
 ЧИТАТЬ__ВСЕМ,__КТО__ПРИШЕЛ__СЮДА__В__ПЕРВЫЙ__РАЗ!  [new]
fedd
Member

Откуда: Москва
Сообщений: 34000
Просьба называть топики, чтобы было понятно, о чем речь внутри! Потом пригодится при поиске. Поиск показывает только называния топиков.

Плохие названия топиков
Прокоментируйте ситуацию, плз...
посоветуйте решение проблем ?
Interbase проблемы.


Пользуйтесь кнопкой и тэгами [SRС], чтобы сохранить отступы в коде и обеспечить подстветку синтаксиса. Так легче читать. [SRС delphi] тоже работает.

С уважением
fedd.
26 окт 04, 22:12    [1063113]     Ответить | Цитировать Сообщить модератору
 Re: Просьба называть топики, чтобы было понятно, о чем речь внутри! Пользуйтесь кнопкой SRC!  [new]
fedd
Member

Откуда: Москва
Сообщений: 34000
Еще советы:

0) Читайте вопросы FAQа по нашему форуму, попробуйте также воспользоваться поиском по форуму, прежде чем задавать вопрос. Может быть, на него уже есть ответ, который вас устроит. (FAQ (frequently asked questions) в переводе с английского одначает "часто задаваемые вопросы. Наш FAQ содержит еще и ответы на них)

1) Указывайте название и точную версию сервера в своих вопросах. Также необходимо указывать точные версии клиентских программ, версии программ посредников(если таковые имеются), например ODBC драйвера. Версии ОС сервера и клиента (если вопрос связан с администрированием, производительностью). Версии используемых компонентов доступа, язык программирования (среды программирования). Для бета версий сервера и релиз кандидатов крайне желательно указывать номер билда.
Пример правильно сформулированных вопросов:
"fb 2.1.3 SS, OS WinXpSp3, клиент WinVista, Delphi2007, FIB+ 6.9.6" далее описание вашей проблемы.
"fb 2.1.3 СS, OS Suse 11.2, клиент WinXP sp3, IBExpert 2010.02.06" далее описание вашей проблемы.

Если Ваш вопрос связан с ошибкой возникающей в результате неких Ваших действий, то текст ошибки в необходимо приводить полностью, без вольных переводов, пересказов и сокращений. От того, что текст ошибки англоязычный здесь в обморок не падают. Допускается приложить скриншот с ошибкой, только пожалуйста не выкладывайте скриншот всего Вашего экрана, уважайте время и деньги тех, кто просматривает форум через GPRS.

Если у Вас возникли проблемы с написанием некого запроса (сложные группировки, связи нескольких таблиц и т.п.),то крайне желательна следующая формулировка вопроса:
1. Точная версия сервера.
2. Словесное описание проблемы.
3. DDL всех участвующих в запросе объектов БД в виде скрипта.
4. Немного данных, опять таки в виде скрипта, достаточных чтобы понять логику работы.
5. Ваши попытки.
6. Желаемый результат в виде таблички.
Если пункты 3-6 получаются объемными, то используем тэг spoiler. Если для понимая сути проблемы требуется достаточно большой набор исходных данных, скрипт можно сархивировать и приложить как аттач к сообщению.

2) Не обижайтесь на "не тот тон", не устраивайте личные разборки. Здесь недолюбливают халявщиков, поэтому примеры Ваших попыток решения проблемы значительно приблизят Вас к получению конструктивного ответа. Почувствуйте разницу между 2 простыми вопросами: "Мне надо срочно, курсовая горит" и "Помогите найти правильное решение, вот мои попытки...". Первый вариант может быть вообще удален модератором без объяснения причин.(На обиженных воду возят. Обидчивость - признание собственной неполноценности. Обижаются один раз, потом всю жизнь обиженные ходят. И т.д.)

3) Цените разработчиков наших СУБД, которые сюда заходят. (Например, список разрабочиков firebird здесь, ники, как правило, совпадают)

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

5) Обсуждайте только InterBase, Firebird, Yaffil. Также возможны обсуждения различных компонентов для работы с этими БД. Вопросы, касающиеся только конкретных языков программирования, обсуждайте в соответствующих форумах по этим языкам. Старайтесь, чтобы "оффтопик" не превышал по объему главный вопрос. (Топик для обсуждения встреч участников форума здесь, форум для общих вопросов здесь, форум просто для трепа здесь)
Установка и работа сервера на ОС FreeBSD имеет некоторые особенности, все связанные с этим вопросы обсуждаются в этом топике.
Немного оффтопа в топике Пятница, более того не рекомендуется обсуждать в этом топике серьезные тематические вопросы.
дополнено 29.10.2010
28 окт 04, 08:50    [1066863]     Ответить | Цитировать Сообщить модератору
 Re: Просьба называть топики, чтобы было понятно, о чем речь внутри! Пользуйтесь кнопкой SRC!  [new]
Kull Damned
Member [заблокирован]

Откуда: Князь Мышкин
Сообщений: 37426
Часто в небольших проектах используется следующая комбинация программных средств и библиотек:

(IB/FB + IBExpert) + (Delphi + FIBPlus + DevExpress) + FastReport

1) SQL-сервер.
Firebird - свободно распространяемый SQL-сервер с открытыми исходниками.
Firebird 2.5.7 - это стабильная версия сервера, прошедшая испытание временем.
Firebird 3.0.2 - релиз, использовать его в промышленной работе вполне можно, для старта новых проектов - самое оно.

Еще немного ссылок по трешке:
  • Обязательно читать Release Notes, 186 страниц!
  • Пресс-релиз на русском языке
  • Документация по языку SQL Firebird 3
  • Презентация Новые возможности SQL в Firebird 3.0
  • Руководство для начинающих Quick Start Guide, на английском
  • Список инструментов и драйверов для Firebird
  • Еще документация и полезные материалы о Firebird на русском языке

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

    Для энтузиастов доступна версия Firebird 4, она только начала свой путь, поэтому пока только альфа

    четверка

    снапшоты тут.

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

    Версии:
    Firebird 1.0.3
    Firebird 1.5.6
    Firebird 2.0.7
    Firebird 2.1.7
    все еще могут использоваться, но надо учитывать, что они сняты с техподдержки, баги в них уже не исправляются. Начинать писать на них новые проекты не имеет смысла.


    Документация
    http://www.firebirdsql.org/file/documentation/reference_manuals/Firebird_Language_Reference_RUS.pdf

    Ссылки для скачивания Firebird:
    http://www.firebirdsql.org/index.php?op=files

    Для начала можешь инсталлировать его как обыкновенное приложение, а не как службу. Это в дальнейшем позволит иметь на компе несколько SQL-серверов. Такое может понадобиться напр. для экспериментов.


    2) Администрирование IB/FB и проектирование БД.
    Второе, что тебе нужно это хороший инструмент для разработки, администрирования БД, написания и отладки скриптов. В этой сфере есть много инструментов, которые пытаются обратить на себя внимание, но ... Однозначно, ничего круче чем IBExpert ты не найдешь. Он уже 2 или 3 года подряд занимает 1 место среди продуктов этого класса. Кроме того его разработали наши русские парни и дают его использовать нахаляву (за что им respect). А буржуи платят как и положено по 200$ за штуку. Скачать его и доки можно здесь:

    http://ibexpert.net/ibe/
    Свежий IBExpert скачиваем ТУТ
    http://www.ibexpert.net/ibe/index.php?n=Doc.Doc

    В случае необходимости выполнения скриптов, предназначенных для IBExpert, из своей программы или командной строки:
    IBEScript.DLL
    IBEScript.EXE

    В дальнейшем, при углубленной проработке вопросов оптимизации работы сервера IB/FB, может понадобиться такая утилита, как IBAnalyst:

    http://www.ibase.ru/files/download/ibanalyst_r.zip
    http://www.ibase.ru/devinfo/summary.htm

    бесплатный парсер логов от IBSurgeon
    IBSurgeon LogViewer

    3) Инструментs для написания клиента.
    Delphi - без комментариев. Остановлюсь на библиотеках доступа к IB/FB. На сколько я помню в штатных средствах Delphi, позволяющих работать с БД есть 4 технологии/библиотеки:

    1. BDE
    2. ADO
    3. dbExpress
    4. IBExpress

    Про BDE забудь. Устаревшая громоздкая технология (хотя и удобная). Сама Borland ее поддерживает только ради обратной совместимости и уже никак не развивает.

    ADO - компоненты доступа к данным, реализующие интерфейсы спецификации OLE Automation. Могут использоваться из любых языков программирования, предоставляющих работу с ActiveX компонентами - VB, VBA, VBScript, JScript, Delphi, C++ и т.д и т.п. ADO компоненты взаимодействуют с базами данных через OLEDB провайдеры. OLEDB - это более низкоуровневая спецификация доступа к данным посредством COM-интерфейсов. Для работы с IB/FB через ADO компоненты можно воспользоваться OLEDB провайдером для IB/FB или ODBC драйвером. В последнем случае, ADO будет взаимодействовать с драйвером через универсальный OLEDB провайдер для ODBC - MSDASQL.

    ODBC
    Официально поддерживаемый и развиваемый драйвер:
    http://www.firebirdsql.org/en/odbc-driver/
    В настоящее время достаточно стабилен, застарелый баг с уровнем изоляции транзакций, когда-то давно отравлявший жизнь пользователям, исправлен.

    DataDirect ODBC - входит в состав дистрибутива InterBase 2007, 2009, XE (или доступен отдельно для зарегистрированных пользователей)
    http://cc.embarcadero.com/Item/25658

    Можно посоветовать GeminiODBC, т.к. он поддерживает последний ODBC-стандарт - 3.51 и для наших бесплатен (за что спасибо разработчикам). Но при наличии 2 указанных выше "родных" целесообразность его применения под вопросом.

    Также список ODBC драйверов можно видеть здесь:
    http://ibase.ru/components.htm#drivers

    Технология не такая быстрая, но лучше других подходит для решения одной очень важной задачи, а именно экспорт/импорт данных из различный источников. ODBC-дрова сейчас существуют практически для всех реляционных источников данных. Т.о. используя ODBC-мост можно перегонять инфу откуда и куда угодно. Например на многих наших заводах, при переходе на какой-либо SQL-сервер, народ сталкивается с проблемой перегона информации из формата dBASE/Paradox/FoxPro... в БД SQL-сервера. Это легко сделать используя следующий ODBC-мост:

    dBASE/Paradox/FoxPro >> ODBC >> Access >> ODBC >> SQL-server

    Естественно все нужные ODBC-дрова должны быть предварительно установлены. Таблицы, на стороне используемого SQL-сервера, куда импортируется инфа также должны быть предварительно созданы и отображены в Access как связанные. Создавать аналогичные таблицы в Access для dBASE/Paradox/FoxPro... не нужно. Access это делает автоматически при импорте. Кстате, импорт в Access выполняется обычно, четез меню, а экспорт в SQL-сервер выполняется используя инструкцию INSERT. Плюсы метода с использованием ODBC/ADO заключаются в том, что не нужно заботится о согласовании форматов данных и кодировок. Кодировки текстовых данных преобразуются автоматически! Ради интереса ставил следующий эксперимент. Создавал в Firebird 2.0 три таблицы с разными кодировками: DOS866, WIN1251, UNICODE_FSS (про NONE почему-то забыл). Далее импотировал инфу из одной и той же таблицы dBASE во все 3 таблицы Firebird, используя вышеописанный механизм. Во всех 3-х случаях тренслитерация кодировик прошла абсолютно корректно и кирилица в Firebird отображалась без проблем.

    dbExpress - универсальная технология доступа к SQL-серверам, поддерживаемая и развиваемая Borland. Подчеркиваю, только к SQL-серверам и только Borland. По поводу универсальности это наверное перебор, т.к. в списке поддерживаемых SQL-серверов только наиболее известные (речь едет о Delphi_7). Если говорить конкретно о IB/FB, то использовать dbExpress для них не рекомендую.

    IBExpress в отличии от предыдущих является библиотекой прямого доступа, специально заточенной под IB/FB. А потому работает быстрее т.к. между клиентом и сервером исключается одно промежуточное звено в виде BDE/ODBC/dbExpress-драйвера. Эта библиотека построена на тех же принципах, что и ADO или dbExpress. С ней достаточно удобно работать.

    Вообще говоря, когда речь заходит о создании какого-то софта на основе конкретного SQL-сервера, то лучше всего использовать именно библиотеки прямого доступа, а не универсальные технологии. Т.к. именно библиотеки прямого доступа позволяют использовать всю функциональность выбранного SQL-сервера, обеспечивают наибольшую производительнось и наиболее быстро реагируют на появление всего нового в SQL-сервере.

    На данный момент, лучшей из библиотек прямого доступа к IB/FB является FIBPlus, разрабатываемая выходцами из СССР и продаваемая нашим по более низкой цене (за что авторам thanks). Очень быстрая, очень компактная, очень удобная, очень функциональная. Напр. позволяет управлять даже обрывом коннекта во время сеанса связи. Просто Best of All. Офицальный сайт:

    http://www.devrace.com/ru/fibplus/

    Лучшими из средств проектирования визуального интерфейса, на мой взгляд и на взгляд Readers Choice, являются библиотеки компании DevExpress и в часности ExpressQuantimGrid Suit, специально заточенный для проектирования интерфейса приложений БД. Раборает со всеми вышеперечисленными технологиями. Очень удобный, очень красивый, очень дорогой ;-)

    http://www.devexpress.com/Products/VCL/ExQuantumGrid/

    Последнее, что нужно, для завершения работы над клиентским ПО БД - это хороший генератор отчетов. Одним из лучших, в этой категории софта, является FastReport, который тоже делают наши парни и продают его своим со скидкой. За это им конеШна спасибА.

    http://www.fastreport.ru/

    Кроме того, FastReport используется и в IBExpert, для генерации отчетов. Что сулит двойную выгоду от его изучения и дальнейшего применения. Т.е. можно будет использовать и в Delphi и в IBExpert.


    4) Доки и книги.
    Все доки, которые были написаны для InterBase 6.0, по большей части подойдут для Firebird. Лежат здесь в pdf-формате:

    http://www.ibase.ru/interbase.htm#doc

    Можно качать сразу все, поскольку они не обновляются. Основное, что из этого понадобится - это "Data Definition Guide" и "Language Reference".

    Кроме того, переводы на русский язык Language Reference для Firebird разных версий лежат здесь:

    Руководство по языку SQL СУБД Firebird 2.5
    Руководство по языку SQL СУБД Firebird 3.0
    Руководство по языку SQL СУБД Firebird 4.0

    Что касается печатных изданий, их по InterBase/Firebird не так уж много. Тем не менее есть одна книга, которая заслуживает особого внимания. Это Ковязин. Востриков. "Мир InterBase" 3-е изд. + CD.

    Вышла новая книга "Firebird: руководство разработчика баз данных" или в англоязычном издании "The Firebird Book: A Reference for Database Developers". Эта книга, возможно станет основной по Firebird. "Борри Х. "Firebird. Руководство разработчика баз данных"

    Мартин Грабер.
    SQL. Описание SQL92, SQL99 и SQLJ.
    Классическая работа по SQL, содержащая описание SQL92 и SQL99. Настоятельно рекомендуется прочитать эту книгу - это учебник по стандартному для всех серверов SQL. Заказать можно здесь:
    http://www.ozon.ru/context/detail/id/929001/
    ISBN 5-85582-109-9

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


    5) Полезные ссылки.

    https://ibase.ru
    https://ibase.ru/udf_ok/
    http://www.delphizine.com/opinion/2003/09/di200309jc_o/di200309jc_o.asp
    http://delphiworld.narod.ru/_all_articles_.html
    http://www.sql.ru :-)
    http://firebirdsql.su/doku.php

    6) Исходники.
    В Inet есть много сайтов с исходниками, в т.ч. и по клиентскому софту для IB/FB. Быстрее будет самому найти, чем ждать, пока кто-нить скинет, чего может и не произойти.


    7) Желаю удачи.
    Дерягин А.

    изменено 01.09.2017
  • 16 сен 05, 12:15    [1883929]     Ответить | Цитировать Сообщить модератору
     Re: Просьба называть топики, чтобы было понятно, о чем речь внутри! Пользуйтесь кнопкой SRC!  [new]
    Kull Damned
    Member [заблокирован]

    Откуда: Князь Мышкин
    Сообщений: 37426
    Вопрошающих "Для чего нужен форум?" направлять сюда.

    По-моему все притензии тех, кто называет себя новичками, связаны с их восприятием форума как какого-то учебного учереждения с длительным циклом обучения. Например, с десятилетней школой. В которой их проведут с 1го по 10ый класс, старательно вдалбливая сначала азы, а потом по нарастающей все остальные знания. Не забывая при этом про выдачу и проверку домашних заданий, дополнительные занятия для отстающих, факультативы для любознательных и тд. Эдакие седые, мудрые и добрые гуру, окруженные выводком "птенцов", про каждого из которых гуру знает все с момента рождения. Знает чем болел, что любит есть на завтрак. Знает как с ним надо разговаривать и как его надо обучать. И потом машет вслед улетающему заматеревшему "птенцу" рукой, смахивая украдкой слезу.
    Так вот, дорогие мои, все это лишь ваши иллюзии.

    Форум - это ускоренные курсы решения проблемы. Которые уже подразумевают наличие базовых знаний. А "блеяние" насчет "играл-играл, угадал все буквы, но не смог прочитать слово" - это не для форума.
    Для получения базовых знаний нужно образование. Либо самообразование (т.е. чтение документации), либо обучение (т.е. курсы). Но форуме нет времени для подбора методики общения с каждым вопрашающим.
    Есть планка. Не выполнил ее - иди "расти".

    P.S. Учитесь правильно задавать вопросы:
    http://ln.com.ua/~openxs/articles/smart-questions-ru.html

    (с) Glory

    Shocker.Pro
    Вопрос: Я студент и мне задали задачку. Помогут ли мне на этом форуме ее решить?

    Ответ: В принципе, ответ – "Помогут". Но надо правильно подойти к вопросу.


    Почему-то некоторые студенты думают, что если опубликовать условие задачи, то через некоторое время волшебным образом появляется ответ. Причем, некоторые из них не то что не вспоминают о словах вежливости, но и просто не удосуживают себя просьбой о помощи, прямо так и публикуют условия задачи, полученные от преподавателя: "Напишите программу, которая строит график функции y=sin(x)"

    Как правило, решить школьную/студенческую задачку для местного специалиста проблемой не является. Именно поэтому, решать он ее не будет. Почему? Потому что спецы сидят здесь не за зарплату, а потому что ему интересно решить какую-то сложную проблему, напрячься, разобрать нюансы, придумать красивый алгоритм, найти непонятно как возникающую ошибку, приобрести новый опыт от других специалистов, которые знают то, чего не знает он. А также потому, что его собственные опыт и знания могут пригодиться тому, кто эти знания хочет получить. Подчеркну – хочет. Это важный момент. Помогать приятно. Делиться знаниями приятно. А выполнять домашнее задание за нерадивого студента, который прогулял лекции, не счел нужным прочитать конспект и не делает никаких попыток разобраться в вопросе – бессмысленно. Специалист потратит время в пустоту, так как студенту это никак на пользу не пойдет.


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

    Путь 1. "Я не знаю, не умею и знать и уметь не хочу".
    В этом случае не пишите "прошу помочь сделать задание". Ведь это не соответствует действительности. Помощь подразумевает то, что человек что-то делает, у него что-то не выходит, возможно, ему нужна просто подсказка. Пишите прямо: "сделайте задание за меня", а также озвучьте, как бы вы отблагодарили того, кто это сделает. Тогда всем будет понятно, никто не будет пытаться без пользы давать подсказки, ссылки и т.п. Просто найдется тот, кто сделает. Или не найдется.

    Путь 2. "Я хочу разобраться и сделать это задание, и мне нужна помощь".
    Этот подход подразумевает, что помимо условия задачи, будут опубликованы реальные попытки автора что-то сделать, конкретные вопросы, по коду, функциям, алгоритмам, а также прочитан материал, который дал преподаватель и/или изучены основы языка, которые даются на первых страницах любого учебника. А на ответы "вам поможет функция Split", вы не будете немедленно задавать вопрос "а что это такое?", а сначала почитаете Help по данной функции или материалы по ее использованию, во множестве доступные в Интернете.


    P.S. Если вы учитесь в учебном заведении, вас же никто туда насильно не затаскивал. Вы платите за получение знаний или даже получаете стипендию от государства, так получайте же эти знания, иначе зачем учиться на такой специальности. Можно податься в строители, слесари, швеи, водители. Там никто программирование учить не заставляет. А если пришли учиться именно на такую специальность – будьте любезны соответствовать. Специалисты знают то что они знают потому, что хотели получить эти знания и мы все будем очень сильно расстроены, если из-за тех, кто не хочет учиться сейчас, мы получим в будущем очередной Чернобыль, СШГЭС, падение самолетов и т.п.

    Успехов в учебе!

    P.S. если в ответ на свои мольбы о помощи Вы получили нечто подобное:
    with A(ID) as
    (
    select cast(x'CBE0E1EEF0E0F2EEF0EDFBE5' as varchar(1024) character set WIN1251) from rdb$database
     union all
    select cast(x'E7E0E4E0EDE8FF' as varchar(1024) character set WIN1251) from rdb$database
     union all
    select cast(x'E4E5EBE0E9' as varchar(1024) character set WIN1251) from rdb$database
     union all
    select cast(x'F1E0ECEEF1F2EEFFF2E5EBFCEDEE21' as varchar(1024) character set WIN1251) from rdb$database
    )
    select list(ID, ' ') from A
    
    не стОит обижаться, стОит прислушаться.
    21 окт 05, 12:34    [1991850]     Ответить | Цитировать Сообщить модератору
    Между сообщениями интервал более 1 года.
     Re: ЧИТАТЬ__ВСЕМ,__КТО__ПРИШЕЛ__СЮДА__В__ПЕРВЫЙ__РАЗ!  [new]
    Kull Damned
    Member [заблокирован]

    Откуда: Князь Мышкин
    Сообщений: 37426
    Частичный Backup от FreemanZAV. За что ему наша благодарность.

    Будущего нет. И завтра не будет. ©
    27 ноя 07, 16:20    [4970034]     Ответить | Цитировать Сообщить модератору
    Между сообщениями интервал более 1 года.
     Re: ЧИТАТЬ__ВСЕМ,__КТО__ПРИШЕЛ__СЮДА__В__ПЕРВЫЙ__РАЗ!  [new]
    Kull Damned
    Member [заблокирован]

    Откуда: Князь Мышкин
    Сообщений: 37426
    Common Table Expression (CTE) по-русски:
    http://www.sqlbooks.ru/printarticle.aspx?part=02&file=sql200509

    Будущего нет. И завтра не будет. ©
    14 апр 09, 10:03    [7059126]     Ответить | Цитировать Сообщить модератору
    Все форумы / Firebird, InterBase Ответить