Модераторы: Akella

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Информация, документация, статьи, примеры, на русском 
:(
    Опции темы
Alex
Дата 6.11.2004, 22:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 7
Всего: 162





--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Alex
Дата 15.12.2004, 01:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 7
Всего: 162





--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Alex
Дата 10.2.2005, 00:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 7
Всего: 162



FAQ по ресурсам посвещенным IB в hlp формате: http://files.vingrad.ru/alex/faq/IB_FAQ.rar


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Akella
Дата 1.12.2008, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



Русскоязычная документация по Firebird (Сайт на русском по СУБД Firebird)
http://www.firebirdsql.su/doku.php 

FireBird для начинающих

Firebird 2.0 Руководство по языку SQL на русском PDF 1Мб

Использование юникода в Firebird - Unicode FAQ

Документация по Firebird на русском

Это сообщение отредактировал(а) Akella - 27.8.2012, 09:34
PM MAIL   Вверх
Akella
Дата 9.12.2008, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



PM MAIL   Вверх
Akella
Дата 10.12.2008, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



Блог http://www.firebird21-database.blogspot.com/
Статьи о Firebird 2.1 на русском.

Это сообщение отредактировал(а) Akella - 10.12.2008, 12:26
PM MAIL   Вверх
Akella
Дата 12.12.2008, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



http://www.ibase.ru/devinfo/dataaccesspaths.htm
Цитата

Firebird: Методы доступа к данным
Дмитрий Еманов <[email protected]>, (с) 2005-2006, v1.0
Содержание
   1. Введение
   2. 1. Первичные методы доступа
         1. 1.1. Чтение таблицы
               1. 1.1.1. Полное сканирование
               2. 1.1.2. Доступ через идентификатор записи
               3. 1.1.3. Позиционированный доступ
         2. 1.2. Индексный доступ
               1. 1.2.1. Битовые карты
               2. 1.2.2. Сканирование диапазона
               3. 1.2.3. Навигация по индексу
         3. 1.3. Доступ посредством RDB$DB_KEY
         4. 1.4. Внешняя таблица
         5. 1.5. Процедурная выборка
   3. 2. Фильтры
         1. 2.1. Проверка предикатов
         2. 2.2. Сортировка
         3. 2.3. Агрегирование
         4. 2.4. Счетчики
         5. 2.5. Проверка сингулярности
         6. 2.6. Блокировка записи
   4. 3. Методы слияния
         1. 3.1. Соединение
               1. 3.1.1. Рекурсивный перебор
               2. 3.1.2. Однопроходное слияние
               3. 3.1.3. Хеширование
         2. 3.2. Объединение
   5. Заключение

PM MAIL   Вверх
Akella
Дата 5.1.2009, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



Цитата

Утилита nbackup СУБД Firebird 

nbackup является новой утилитой резервного копирования для СУБД Firebird 2.0. Эта утилита предоставляет возможности, отсутствовшие в утилите gbak, которая была унаследована от СУБД Interbase. Однако она не заменяет полностью возможности последней. Обе программы имеют свои сильные и слабые стороны; вероятнее всего, они будут сосуществовать некоторое время. 

http://firebird.sourceforge.net/manual/ru/nbackup-ru.html
PM MAIL   Вверх
Akella
Дата 13.1.2009, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



http://www.ibprovider.com/rus/news/n_090110.html
Цитата

В IBProvider v3 разработан принципиально новый механизм работы с кодовыми страницами текстовых данных Firebird и Interbase.


Изменения в IBProvider v3 [build 3.0.0.6327 RC3]
В новой версии IBProvider v3 предложена принципиально новая схема работы с кодовыми страницами текстовых данных:

    * Добавлено свойство ctype_user, позволяющее указать кодировку, в которой данные будут поступать к клиенту, независимо от того, в какой кодировке данные передаются от сервера БД.
    * Поддерживаются псевдонимов кодовых страниц Firebird и Interbase .
    * Добавлено свойство ctype_none, которое позволяет задать кодовую страницу для работы с текстовыми данными в кодировке NONE.
    * Новые алгоритмы перекодирования BLOB-полей, обеспечивают быструю работу с поточными данными, оптимизация взаимодействия с библиотекой кодировок ICU.
    * Внесены прочие важные изменения.


Добавлено через 1 минуту и 26 секунд
http://www.ibprovider.com/rus/documentatio...adonet_rus.html

Цитата

Использование новых возможностей Firebird 2.1. в ADO .Net

В последние дни июня 2007 года появились первые беты новой версии Firebird 2.1. Среди нововведений необходимо выделить глобальные триггеры базы данных, общие табличные выражения (CTE), временные таблицы, возможность мониторинга базы данных через SQL, отмена зависших запросов, а так же новые SQL инструкции.

Мы решили не отставать с реализацией новых возможностей и рады сообщить о выходе новой версий IBProvider Professional Edition с полноценной поддержкой Firebird 2.1.

PM MAIL   Вверх
Akella
Дата 20.1.2009, 00:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



PM MAIL   Вверх
Akella
Дата 1.2.2009, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



Информация о Firebird 3 на русском.

Это сообщение отредактировал(а) Akella - 12.6.2009, 10:01
PM MAIL   Вверх
Akella
Дата 9.2.2009, 09:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



Соединения (join) в Firebird. Использование неявных соединений в Firebird и Interbase.

Удаление или поиск дубликатов (повторяющихся) записей в таблице Firebird
Удаление дубликатов в Firebird
Удаление дубликатов в Firebird
Удаление дубликатов одинаковых записей в Firebird


UPDATE данными из других таблиц

Шифрование трафика при передаче данных в Firebird



Немного о RDB$DB_KEY
Цитата

The RDB$DB_KEY is not a record counter.  It's a three part index,
consisting of a pointer page number, an offset on that page, and an
offset into the line index on the data page.  If you never delete
rows, then each new value will be higher than all existing values,
but the numbers won't be sequential.


Лучший "дефрагментатор" для базы данных - это backup/restore. А вообще дефрагментация базы не требуется.

Из http://www.ibase.ru/ibfaq.htm

Это сообщение отредактировал(а) Akella - 30.9.2010, 22:22
PM MAIL   Вверх
Akella
Дата 10.2.2009, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



Статьи по FibPlus


Примеры работы с компонентами FibPlus
FibPlusDemo Pack by Dmitry Kovalenko (Delphi). It includes:
Цитата

    *  Simple query sample
    * Sample with graphic blob-fields (Fish demo)
    * Handling event alerts sample
    * Local filtering sample
    * Local sorting sample
    * Local searching sample
    * Local and server-side searching sample
    * Master-detail example
    * Loading a form from DLL
    * Using FIBPlus Cache***() methods
    * FIBPlus and MIDAS example
    * FIBPlus glyphes for Delphi and C++ Builder IDE

The necessary database is included in archives.

Источник>>

Что важно знать при работе с UNICODE

Это сообщение отредактировал(а) Akella - 31.5.2009, 10:49
PM MAIL   Вверх
Akella
Дата 16.2.2009, 21:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



Документация по firebird на русском
http://forum.vingrad.ru/forum/topic-163121.html

Добавлено @ 22:02
Безопасность в Firebird
http://www.firebirdsql.org/manual/ru/fbmetasecur-ru.html
PM MAIL   Вверх
Akella
Дата 1.3.2009, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



http://ru.wikipedia.org/wiki/Firebird
Статья в Wiki про Firebird. В конце статьи куча ссылок.
PM MAIL   Вверх
Akella
Дата 2.3.2009, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



Почему нельзя использовать RAID 5 для сервера базы данных?
и
Как оптимальным образом сконфигурировать RAID контроллер для размещения базы данных сервера Firebird? 

Тынц>>>

Это сообщение отредактировал(а) Akella - 2.3.2009, 12:28
PM MAIL   Вверх
Akella
Дата 12.3.2009, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



PM MAIL   Вверх
Akella
Дата 27.3.2009, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



http://klog.h17.ru/interbase/chapter2/1.html
Разработка приложений баз данных InterBase на Borland Delphi/C++ Builder/Kylix
PM MAIL   Вверх
Akella
Дата 3.4.2009, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



PM MAIL   Вверх
Akella
Дата 8.4.2009, 23:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



Firebird+Unicode
Работа с UNICODE в InterBase/Firebird

Это сообщение отредактировал(а) Akella - 31.5.2009, 10:50
PM MAIL   Вверх
Akella
Дата 21.4.2009, 20:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



Как сортировать текстовое BLOB поле в Firebird

Код
order by substring(text_data from 1 for 100)

Источник
PM MAIL   Вверх
Akella
Дата 19.5.2009, 21:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



Общий метод формирования сообщений об ошибках при работе с базами данных и его использование для БД Firebird

http://rsdn.ru/article/db/FBErrors.xml
PM MAIL   Вверх
Akella
Дата 23.5.2009, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



Firebird vs PostgreSQL
Не знаю, как в новых версиях PostgreSQL, а вот в Firebird 2.5 уже  в той таблице можно некоторые No заменить на Yes.

Это сообщение отредактировал(а) Akella - 23.5.2009, 19:36
PM MAIL   Вверх
Akella
Дата 25.5.2009, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



PM MAIL   Вверх
Akella
Дата 31.5.2009, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



PM MAIL   Вверх
former
Дата 11.6.2009, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

Репутация: 1
Всего: 17




Средство репликации FireBird 1
Средство репликации FireBird 2

Это сообщение отредактировал(а) Akella - 17.1.2012, 16:14


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
Akella
Дата 12.6.2009, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



Из жизни жар-птиц…: Мифы и реальность СУБД Firebird

Это сообщение отредактировал(а) Akella - 8.8.2009, 21:19
PM MAIL   Вверх
Akella
Дата 1.10.2009, 09:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



yournewhosting.com
Хостинг с Firebird 2

PM MAIL   Вверх
Deniz
Дата 12.10.2009, 05:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 22
Всего: 44



FireBird V1.5.6 Release


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
Akella
Дата 27.10.2009, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



PM MAIL   Вверх
Akella
Дата 12.11.2009, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



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

Код

rem Cкрипт срочной архивации баз
@echo off
rem Ключ proceed нужен для предотвращения случайного запуска
if not %1==proceed goto quit

title sweep, backup and restore database
echo ***************************************************************************
echo.|date
echo.|time

rem Устанавливаем локальные переменные на уровне командного файла (для удобства)

setlocal
set path=C:\program Files\Firebird\Firebird_1_5\Bin
set backuppath="d:\backup"
set logpath="d:\backup\logs"
set IB_USER="SYSDBA"
set IB_PASS="password"

rem Gbak лежит по пути Path. Копирование выполняется без сборки мусора (-g)
rem Пишется лог в gbak_tmp_1.log, после backup файла лога переименовывает файл
rem лога в соответствии с текущими датой и временем (rendate - самописная программа)

gbak.exe -user %IB_USER% -password %IB_PASS% -b -g -v -z -y %LOGPATH%\gbak_tmp_1.log "localhost/3070:base" %BACKUPPATH%\base.fbk
rendate %LOGPATH%\gbak_tmp_1.log "_YYMMDD_HHMMSS"
echo.|date
echo.|time
:quit


Добавлено через 1 минуту и 52 секунды
Стандартный скрипт создания резервной копии базы данных firebird (использовал часто)
Код
"c:\program files\firebird\firebird_2_0\bin\gbak.exe" -b -v -user sysdba -password masterkey origina_base.fdb base.bak


Добавлено через 2 минуты и 49 секунд
учтите, что параметр -g запрещает сборку мосура при создании резервной копии
PM MAIL   Вверх
Deniz
Дата 13.11.2009, 06:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 22
Всего: 44



Выложу и я свой скрипт(первоначально где-то взял, потом доработал), может кому понадобится:
Код
@echo off
set gbak="C:\Program Files\Firebird\Firebird_1_5\bin\GBAK.EXE"
set rar="d:\winrar\winRar.exe" m -m5 -md4096 -ep -cl -idp -ag_A -inul
set gfix="C:\Program Files\Firebird\Firebird_1_5\bin\GFIX.EXE"

set user=SYSDBA
set pass=masterkey

rem в первой переменной передается файл БД
set f_name1=%1

set fGDB="localhost:d:\base\%f_name1%"
set fGBK="d:\backup\%f_name1%.fbk"
set fRAR="d:\backup\%f_name1%.rar"

echo ======== %f_name1% ========
echo  %date:~0,10% %time:~0,8% backup
%gbak% -b -v -user %user% -pass %pass% %fGDB% %fGBK%

echo  %date:~0,10% %time:~0,8% archive
%rar% "%fRAR%" %fGBK% 

rem echo     gfix ...
rem %gfix% -sweep -user %user% -password %pass% %fGDB%

echo  %date:~0,10% %time:~0,8% done



--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
Akella
  Дата 9.12.2009, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



Конвертировать строку в таблицу.
На входе строка '1,2,3,4', на выходе - таблица.

Код

create or alter procedure SPLIT_INTEGER (
    VALUE_ varchar(2048))
returns (
    RESULT integer)
as
declare variable TEMP_ varchar(16);
declare variable CHAR_ varchar(1);
begin
    if (value_ is null) then
       exit;
    --end if
    value_=value_||',';
    temp_='';
    while (value_<>'') do
    begin
       char_=substring(value_ from 1 for 1);
       if (char_=',') then
       begin
          if (temp_<>'') then
          begin
             result=cast(temp_ as integer);
             temp_='';
             suspend;
          end--if
       end
       else
          temp_=temp_||char_;
       --end if
       value_=substring(value_ from 2 for 2048);
    end--while
end

Ист>>
PM MAIL   Вверх
Deniz
Дата 9.12.2009, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 22
Всего: 44



Akella, там же потом полегче процедура (чуток подправил):
Код
create procedure UnList (
  String varchar(2048),
  Separator varchar(1)
)
returns (Row varchar(20))
as
begin
  Separator = coalesce(Separator, ';');
  if (Separator = '') then Separator = ';';
  Row = '';
  while (String != '') do
  begin
    if (substring(String from 1 for 1) != Separator) then
      Row = Row || substring(String from 1 for 1);
    else
    begin
      if (Row != '') then suspend;
      Row = '';
    end
    String = substring(String from 2);
  end
  if (Row != '') then suspend;
end
Примеры вызова:
Код
select ul.* from
rdb$database r
left join unlist(';Фамилия;Имя;;Отчество;2;3;4;5;', '') ul on 1=1
where ul.Row <> '3'
на выходе таблица. Прошу обратить внимание на возвращаемое значение varchar(...), кому надо приводите к нужному типу и размеру.


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
Akella
Дата 19.1.2010, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



PM MAIL   Вверх
Akella
Дата 29.3.2010, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



PM MAIL   Вверх
Akella
Дата 8.4.2010, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



Как найти неиспользуемые домены, исключения, UDF, генераторы
Код

/* Неиспользумые домены */
select RF.Rdb$Field_Name
  from Rdb$Fields RF
 where RF.Rdb$Field_Name not like 'RDB$%'    /* Используются Interbase */
   and not exists (select 1
                     from Rdb$Relation_Fields
                    where RDB$FIELD_SOURCE = RF.Rdb$Field_Name);

/* Неиспользуемые исключения */
select E.Rdb$Exception_Name
  from Rdb$Exceptions E
 where E.Rdb$Exception_Name not like 'RDB$%' /* Используются Interbase */
   and not exists (select 1
                     from Rdb$Dependencies D
                    where D.Rdb$Depended_On_Name = E.Rdb$Exception_Name)


/* Неиспользуемые UDF: */
select F.Rdb$Function_Name
  from Rdb$Functions F
 where not exists (select 1
                     from Rdb$Dependencies D
                    where D.Rdb$Depended_On_Name = F.Rdb$Function_Name)

/* Неиспользуемые генераторы: */
select G.Rdb$Generator_Name
  from Rdb$Generators G
 where G.Rdb$Generator_Name not like 'RDB$%' /* Используются Interbase */
   and G.Rdb$Generator_Name not like 'SQL%'  /* Используются Interbase */
   and not exists (select 1
                     from Rdb$Dependencies D
                    where D.Rdb$Depended_On_Name = G.Rdb$Generator_Name)



Добавлено через 14 минут и 54 секунды
Восстановление удалённых записей в Interbase/Firebird
PM MAIL   Вверх
Akella
  Дата 9.4.2010, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



Удалить дубликаты записей в Firebird

Этот запрос удалит дубликаты записей по полю tel, основываясь на дополнительном условии - id_mediator is not null
Код

delete from phones
where
  (id_mediator is not null)
and 
  tel in (select p.tel from phones p
            where (p.id_mediator is not null)
            group by 1
            having count(p.tel) > 1)

Спасибо Deniz`у.

Это сообщение отредактировал(а) Akella - 17.1.2012, 11:01
PM MAIL   Вверх
Deniz
Дата 9.4.2010, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 22
Всего: 44



Позволю себе некоторые комментарии:
Особенность FireBird состоит в том, что внутренний запрос (в where) выполняется для каждой удаляемой записи.
Следовательно, удалятся все дубликаты кроме последнего, т.к. для него внутренний запрос уже не отработает.
FAQ ibase.ru


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
Akella
Дата 5.2.2011, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



Репликация Firebird
http://www.aleksandr-pro.ru/project1.php



user posted image
PM MAIL   Вверх
Akella
Дата 26.11.2011, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



Хостинг с поддержкой Firebird
Есть два неплохих русскоязычных хостера, которые предоставляют хостинг с поддержкой Firebird.
1. http://sweb.ru/ (на тарифе SX-1 нет поддержки Firebird)
2. http://moshoster.ru/

И оба хостера могут предоставить доступ к Firebird извне. Это очень здорово smile
PM MAIL   Вверх
Akella
Дата 26.1.2012, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



Замена IN. Конвертировать строку в таблицу. На входе строка '1,2,3,4', на выходе - таблица.


Код

CREATE OR ALTER PROCEDURE LIST_TO_ROWS(
    LST BLOB SUB_TYPE TEXT)
RETURNS (
    ID INTEGER)
AS
  declare pos_ int;
  declare offset int = 1;
  declare beg int;
  declare buf varchar(30100);
begin
  if (lst is null) then exit; -- добавлено по подсказке wm

  while (0=0) do begin
    buf = substring(lst from offset for 30100);
    pos_ = 1; beg = 1;
    while (pos_ <= char_length(buf) and pos_ <= 30000) do begin
      if (substring(buf from pos_ for 1) = ',') then begin
        if (pos_ > beg) then
          id = substring(buf from beg for pos_ - beg);
        else
          id = null;
        suspend;
        beg = pos_ + 1;
      end
      pos_ = pos_ + 1;
    end
    if (offset + pos_ - 2 = char_length(lst)) then leave;
    offset = offset + beg - 1;
    if (offset > char_length(lst)) then leave;
  end

  if (pos_ > beg) then
    id = substring(buf from beg for pos_ - beg);
  else
    id = null;
  suspend;
end



Ист >>>
PM MAIL   Вверх
Akella
Дата 16.4.2012, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



PM MAIL   Вверх
Akella
Дата 9.7.2012, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



PM MAIL   Вверх
Akella
Дата 19.10.2012, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



Как добавить столбец в таблицу Firebird с предварительной проверкой, чтобы не было ошибок при добавлении


Код

EXECUTE block as
BEGIN
if (not exists(
select 1 from RDB$RELATION_FIELDS rf
where rf.RDB$RELATION_NAME = 'T1' and rf.RDB$FIELD_NAME = 'C1'))
then
execute statement 'ALTER TABLE T1 ADD C1 INTEGER';
END



Код

create procedure add_column(tab_name varchar(31), col_name varchar(31),
data_type varchar(100))
BEGIN
if (not exists(
select 1 from RDB$RELATION_FIELDS rf
where rf.RDB$RELATION_NAME = :tab_name and rf.RDB$FIELD_NAME = :col_name))
then
execute statement 'ALTER TABLE "'||tab_name||'" ADD "'||:col_name||'" '||:data_type;
END



execute procedure add_column('T1', 'C1', 'INTEGER');

PM MAIL   Вверх
Akella
Дата 24.10.2012, 09:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



PM MAIL   Вверх
Akella
Дата 31.10.2012, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



Скрипт VBS изменения пароля на сервере Firebird для главного пользователя SYSDBA на Windows
Скопируйте скрипт в папку bin, где установлен firebird. По умолчанию для Firebird 2.5: C:\Program Files\Firebird\Firebird_2_5\bin\

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  change_password_firebird.vbs 0,88 Kb
PM MAIL   Вверх
Akella
Дата 8.11.2012, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



PM MAIL   Вверх
Akella
Дата 15.12.2012, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Interbase"
Alex

Обязательно указание:

1. Версию InterBase (Firebird, Yaffil)

2. Способа доступа (ADO, BDE, IBX и т.д.)

  • КАК ПРАВИЛЬНО ОФОРМИТЬ КОД - ЗДЕСЬ
  • КАК ПРАВИЛЬНО УКАЗАТЬ ТЕКСТ ОШИБКИ - ЗДЕСЬ
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • FAQ раздела лежит здесь!

Если Вам понравилась атмосфера форума, заходите к нам чаще! С Уважением, Akella.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Firebird, Interbase | Следующая тема »


 




[ Время генерации скрипта: 0.2877 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.