Подключение к базе firebird windows

Обновлено: 03.07.2024

Хотя Firebird разработан, чтобы быть сервером базы данных для удаленных клиентов, он предоставляет множество средств локального доступа.

Firebird поддерживает протокол Microsoft WNet Named Pipes для серверов Windows NT/2000, XP и клиентов Windows. Имя канала по умолчанию interbas. Windows 9х и ME не могут быть серверами WNet.

Средства локального доступа.

* Локальная заглушка TCP/IP. Для многоуровневых серверных приложений и других клиентов доступ к локальному серверу на любой поддерживаемой платформе осуществляется через протокол TCP/IP: даже при отсутствии сетевой карты соединение может быть выполнено через специальный сервер localhost с IP-адресом 127.0.0.1.

ВНИМАНИЕ! Соединение с localhost невозможно для приложений встраиваемого сервера.

* Режим локального соединения Windows. Для клиентов Windows, использующих Суперсервер Firebird на той же самой физической машине, Firebird поддерживает режим локального соединения, используя межпроцессную передачу данных для моделирования сетевого соединения без интерфейса физической сети и сетевого протокола. Это полезно при доступе к базе данных в процессе разработки, для приложений встраиваемого сервера и для консольных инструментов клиента, но в этом варианте не поддерживается механизм событий Firebird и параллельная работа клиентской части из разных потоков приложения.

Средства локального соединения клиент-сервер являются ограниченными и не должны использоваться при поставках программ. Распространяйте автономные приложения клиент-сервер, Web-приложения и другие уровни серверов с использованием для соединения локально закольцованного протокола TCP/IP.

* Прямое локальное соединение в POSIX. Может ли локальный клиент соединяться с базой данных в Linux и в некоторых других системах POSIX, зависит, в первую очередь, от варианта сервера, который вы инсталлировали (Классический сервер или Суперсервер), и, во вторую очередь, от типа клиентского соединения.

Суперсервер совсем не принимает локальных соединений через обычный клиентский API. Путь для соединения всегда должен включать имя хоста TCP/IP. Тем не менее он принимает локальные соединения от "встроенных приложений" (приложений, написанных с использованием встроенного SQL - Embedded SQL, ESQL). Инструменты командной строки, gsec, gfix, gbak и gstat, которые являются встроенными приложениями, могут выполнять локальные соединения с Суперсервером.

Если у вас запущен Классический сервер, с локального клиента возможно прямое соединение.

Адрес, локальный на уровне сайта

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

10.3.1. Доступ

10.3.1. Доступ Такие директивы определяют основные права доступа к FTP-серверу. Давайте рассмотрим основные из них:? class имя type адреса — позволяет организовать классы пользователей по их типу и адресу. В нашем конфигурационном файле указана следующая строка:class all anonymous,guest,real

10.3.3. Доступ по операциям

10.3.3. Доступ по операциям Помимо этого, в файле ftpaccess может быть описание основных операций и прав доступа к ним. В общем виде это выглядит следующим образом:Действие yes|no пользовательВ качестве действия можно указать одно из следующих значений: chmod, delete, overwrite, rename или umask.

11.2. Локальный hosts

11.2. Локальный hosts Мы уже знаем, что изначально для сопоставления имен и адресов использовался файл /etc/hosts. Это текстовый файл с записями типа:127.0.0.1 localhost.localdomain localhost192.168.77.1 FlenovMКаждая строка — это соответствие IP-адреса его имени. По умолчанию в файле будет всего две строки.

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

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

Доступ к GUI

Доступ к GUI После завершения установки и перезагрузки компьютера можно переходить к GUI Asterisk. URL, используемый для доступа к GUI Asterisk, - это IP-адрес или имя хоста, которое выводится на экран после перезагрузки компьютера. Введите этот IP-адрес в адресной строке броузера. С

21.7.1. Доступ к Интернет

21.7.1. Доступ к Интернет Прежде всего определимся, нужен ли вашему игровому залу доступ к Интернет. Если нужен, то для каких целей. В большинстве случаев он нужен для того, чтобы посетители могли использовать так называемые Online-версии игр или подсоединяться к всемирным

2.3.2 Доступ с терминала

2.3.2 Доступ с терминала В начале 70-х гг. многие производители компьютеров создавали модели терминалов, которые были совместимы только с их собственными компьютерными системами. Министерство обороны США закупало оборудование у различных производителей и, естественно,

2.4.1 Доступ к файлам

2.4.1 Доступ к файлам Файловые серверы дают пользователю возможность работать с удаленными файлами так, как если бы они располагались на локальной системе. Первоначально файловые серверы получили распространение в локальных сетях персональных компьютеров как средство

Уверенный доступ

16.2 Доступ к файлам

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

Удаленный доступ

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

Локальный доступ

Локальный доступ Хотя Firebird разработан, чтобы быть сервером базы данных для удаленных клиентов, он предоставляет множество средств локального доступа.Firebird поддерживает протокол Microsoft WNet Named Pipes для серверов Windows NT/2000, XP и клиентов Windows. Имя канала по умолчанию interbas. Windows 9х и

Неограниченный доступ

Неограниченный доступ По умолчанию все компоненты доступны для всех клиентов. Для классаclass S1 featuref . g . endкомпоненты f, g, . доступны всем клиентам S1. Это означает, что если в классе C объявлена сущность x класса S1, то вызовx.f . является допустимым, если выполнены все другие

Какую версию Firebird выбрать?

Сервер Firebird SQL доступен в 3-х вариантах:

  • Firebird Super Server
  • Firebird Classic Server
  • Firebird Embedded

Firebird Super Server

Firebird Classic Server

Firebird Embedded

Firebird Embedded Server распространяется отдельным дистрибутивом.

Если затрудняетесь с выбором

Если вы не уверены в выборе типа установки Firebird, то используйте Firebird Super Server. В дальнейшем вы без труда сможете изменить архитектуру сервера.

Начало работы с Firebird

Для знакомства с Firebird можно использовать тестовую базу данных employee.fdb. Она входит в установочный комплект Firebird и расположена в папке Program Files\Firebird\Firebird\examples\empbuild\.

Создание новой базы Firebird

Для создания пустой базы Firebird:

  • запустите утилиту C:\Program Files\Firebird\Firebird\bin\isql.exe
  • выполните инструкцию создания базы данных:

В ISQL каждое выражение завершается точкой с запятой.

Проверить подключение можно, выполнив запрос:

SQL> select MON$DATABASE_NAME from MON$DATABASE;

Если все сделано правильно, SQL запрос вернет путь к подключенной базе данных:

Безопасность Firebird

  • Firebird хранит всех пользователей в одной служебной базе данных security.fdb.
  • Начиная с Firebird 2.1 реализована поддержка SSPI аутентификации средствами Windows. Администраторы домена на уровне БД определяются как суперпользователи SYSDBA.
  • В Firebird 3.0 планируется реализовать возможность хранения пользователей в клиентской базе данных.

Пользователь SYSDBA. Смена пароля по умолчанию

c:\Program Files\Firebird\bin>gsec GSEC> modify SYSDBA -pw NEW_PASS

При помощи утилиты gsec можно создавать, удалять, модифицировать и просматривать пользователей. Полный список команд можно получить, набрав help.

Подключение к Firebird из клиентского приложения

Для начала скачайте и установите пакет IBProvider Professional Edition.

Для проверки подключения к Firebird напишем простой сценарий на языке VBScript. Создайте пустой файл с расширением vbs и вставьте в него следующий код, указав правильный путь к базе данных:

Запустите скрипт на выполнение в режиме командной строки, и вы увидите список активных подключений к БД.

Firebird и VBScript, Visual Basic, VBA

Для доступа к Firebird и InterBase из VBScript, VBA, Visual Basic используется библиотека ADO (ActiveX Data Objects). Множество примеров работы с этой библиотекой вы найдете в документации: примеры InterBase, Firebird VBScript, VBA, Visual Basic.

Firebird и Delphi

IBProvider предлагает несколько способов работы с InterBase и Firebird из Delphi:

  • dbGo (ADO Express) компоненты, работающие через библиотеку ADO.
  • прямой доступ к COM-интерфейсам ADO, минуя компоненты dbGo.
  • прямой доступ к COM-интерфейсам OLE DB при помощи сторонних VCL-компонент (OLE DB Direct/OLE DB Express).

Дополнительные материалы по теме:

Firebird и C++

В состав IBProvider Professional Edition входит C++ библиотека, которая предоставляет самый быстрый способ работы с OLE DB провайдерами из Visual C++ 2005-2008, а так же из C++ Builder.

Редактирование базы Firebird

В пустой базе данных необходимо создать таблицы, связи между таблицами, первичные ключи, индексы, хранимые процедуры, генераторы и другие объекты. Для редактирования баз данных Firebird вы можете использовать утилиту isql.exe.

SQL> CREATE TABLE cross_rate CON> ( CON> from_currency VARCHAR(10) NOT NULL, CON> to_currency VARCHAR(10) NOT NULL, CON> conv_rate FLOAT NOT NULL, CON> update_date DATE, CON> CON> PRIMARY KEY (from_currency, to_currency) CON> );

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

Помимо isql существует различные графические утилиты администрирования Firebird.

Утилиты администрирования Firebird

FlameRobin

IBExpert

IB/FB Development Studio

Blaze Top

Database Workbench

Понадобилось мне тут данные вытащить из одной программки, написанной на БД Firebird. И оказалось, что да, в интернете полно примеров, где маститые гуру, выпятив губу, демонстрируют новичкам, как подключаться к Огнептице, но всё обрывочно и скомканно. На ИС нашлось несколько публикаций, вроде //infostart.ru/public/85844/ - но и там полезного крайне мало. Поскольку иногда бывает надо быстро "взять и сделать", то предлагаю материалы, которые помогли мне выполнить задачу, а также решение, которое достаточно универсально, чтобы применяться в самых разных жизненных случаях. Всё это без привязки к конкретному софту вроде всяких автосервисов или запчастей. Рассказываю на прикладном уровне (т.е. подробного изложения, чем ODBC отличается от ADO DB или что такое MDAC, не ждите). Есть задача "прочитать данные", её решаем.

FB здесь и далее, понятно дело, не фейсбук)

Описывается случай FB 2.0 как наиболее общий, обычно справедливо и для более поздних версий.

Необходимое:

1. На компьютере (на сервере либо локальном ПК, откуда идёт подключение к FB) должен быть источник данных ODBC, позволяющий работать провайдеру. Его один раз надо установить, зарегистрировать и запустить. При установке FB некоторых дистрибутивов он ставится сразу, но, увы, не всегда. Мы из 1С подключаемся к этому провайдеру и командуем, что нам надо сделать с БД FB. Дальше - не наша забота. Нас даже, в общем, не волнует граница ответственности между провайдером и собственно сервером FB. Провайдеров много, не все одинаково полезны) Дистрибутив того, который легко "взлетел" у меня, прилагаю.

2. На компьютере (на сервере либо локальном ПК, откуда идёт подключение к FB) желательно установить сервер FB. Запускать его после инсталляции как службу не обязательно. Сам по себе тихо крутится, интерфейса обычно не имеет. Установка его полезна тем, что даёт нам некоторые примитивные консольные утилиты для управления БД. Есть действия, которые вообще без этих утилит не сделать. Ну и документация там тоже есть. Дистрибутив прилагаю.

3. Собственно читаемая база - один или несколько файлов, обычно формата FDB или GDB. Сама база может лежать любом месте - главное, правильно указать путь; но лучше всё же (во избежание лишних причин для сбоев) положить её локально.

Замечу, что можно спокойно ставить под 64-разрядную ОС обычный 32-разрядный провайдер. У меня как раз такой вариант и работает.

Порядок действий.

1. Устанавливаем провайдер (драйвер ODBC), устанавливаем сервер FB. Это всё довольно просто - запустили инсталлятор, ответили на пару вопросов. Подвохов там нет. Ставим/распаковываем базу куда-то туда, куда у нас и 1С в нашем аккаунте полный доступ. Единственно что, лучше не на примапленный диск. 2. В 1С создаём объект ADODB.Connection и работаем через него. Ему передаём текст запроса на языке FB, от него получаем выборку результата этого запроса, т.е. штатно работаем с FB из 1С. Для успешного соединения с базой самое важное - правильно скомпоновать строку команды соединения. Эта строка включает указание провайдера, авторизацию, настройки соединения. Именно с ней обычно возникают проблемы. Подробное описание этого дела см. в файле OdbcFb.chm из папки Firebird_ODBC в разделах "Connection attributes" и "Connection examples". Свойство "CursorLocation" желательно ставить равным 3, свойство "ConnectionTimeOut" я ставлю равным 180.

Есть любители работать через DSN - по сути, это поименованное пакетное описание всех тонкостей подключения. В этом случае сначала в настройках ODBC создаётся системный/пользовательский DSN, где всё прописывается один раз, и уже на его имя ссылаются в строке подключения. Я этим не пользуюсь, поэтому подробно рассказывать не буду. Отмечу, что DSN полезен, когда соединение из 1С не срабатывает - можно попробовать сделать DSN с такими же настройками и пощёлкать "Проверить соединение" - если не взлетит и оно, тогда проблема с драйвером и СУБД, с доступом итд, а если сработает - то накосячено что-то в коде 1С.

Пример подключения и инициализации переменной модуля:

Запрос к БД FB представляет собой по сути диалект SQL, поэтому в нём можно разобраться, просто зная язык запросов 1С. Есть токность: алиасы регистрочувствительны.

Я сделал единую функцию для передачи запросов в неё:

Разумеется, для написания запросов надо знать имена и свойства таблиц БД, имена и типы их полей, а также конкретику наполнения. Для этого есть множество вьюшек, отдельных утилит и приблуд, но я написал свою исключительно потому, что хотелось подробнее разобраться и сразу иметь возможность как-то обработать прочитанные данные. Поэтому прилагаю обработку под УФ, которая умеет читать данные о таблицах и их полях, читать содержимое таблиц, исполнять ваши запросы (эдакая мини-консоль запросов FB). Всё в ней изложенное спокойно заработает и на обычных формах.

Закончив работу, не забывайте сделать мСоединение.Close() или просто очистить переменную.

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

Типы полей имеют цифровую нотацию, которая в обработке представлена - как преобразование в более человекочитаемый вид.

Вот, собственно, и всё. Чтобы быстро изучить базу и вытащить из неё нужные данные, больше ничего и не требуется.

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

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

Используется для подключения и работы с базой данных Firebird.

Параметры подключения

При настройке подключения задаются следующие параметры:

  • Метка — содержит задаваемое пользователем имя подключения.
  • Строка подключения — строка вида [host[/port]:]databasepath.fdb (параметры, заключенные в [ ], являются опциональными).

Задать строку подключения можно вручную или настроить в отдельном окне, которое вызывается при клике мышью по кнопке .

Поддерживается два типа подключения:

  • локальное — подключение без использования сервера Firebird, указывается только путь к БД.
  • удаленное — подключение с использованием сервера Firebird.
    • сервер — хост сервера Firebird.
    • протокол — протокол, используемый сервером для взаимодействия с клиентом.
    • Протестировать подключение — тест указанных настроек подключения.
    • Логин — логин пользователя БД. Если логин не указан, то используется доменная авторизация.
    • Пароль — пароль пользователя БД.
    • Сохранять пароль — при установке этого флага логин и пароль будут сохранены в текущих настройках подключения.
    • Показывать системные таблицы — при установке этого флага в мастере импорта, использующего данное подключение, становятся видимы доступные пользователю системные таблицы БД.
    • Обрамлять имена кавычками — если имена объектов базы данных (например, имена таблиц, полей) содержат пробелы или зарезервированные символы, то необходимо использовать обрамляющие символы, фиксирующие начало и конец имени.
    • Настройка кавычек — является информационным полем, указывающим, какие именно обрамляющие символы используются в подключении к данной БД. Для Firebird – двойные кавычки.
    • Значение кодировки — задает кодировку символов, в которой будут трактоваться данные с сервера.
    • Не использовать клиент СУБД — для Firebird изменение этого параметра не доступно.
    • Очищать пул при деактивации — очищает пул часто используемых в пакетной обработке и пакетов Loginom Integrator, сохраненных для быстрого вызова, после деактивации узла. По умолчанию этот параметр отключен.
    • Описание — в этой форме можно оставить любую справочную информацию о подключении.

    Примечание: Для подключения к базе данных необходима установка файлов клиентской библиотеки (DLL) той же разрядности, что и разрядность приложения/сервера Loginom.

    В случае, если используется многопользовательский доступ к БД, рекомендуется использовать сервер Firebird для избежания блокировок доступа.

    Важно: Доменная авторизация осуществляется от имени пользователя, под которым запущен сервер Loginom.

    Читайте также: