Доступ к базе на С под Linux
Модератор: kdv
Доступ к базе на С под Linux
Есть ли РАБОТАЮЩИЕ примеры на С под Linux ? Смотрел пример в книге "Мир IB",но на прилагаемом диске их нет.Скачал библиотеку FireFoot, но опять же без примеров. Может у кого-нибудь есть соответствующий опыт и исходники примеров ? Спасибо ! Сергей
А ты сам пробовал их компилировать, только честно ?hvlad писал(а):firebird/examples для кого писаны ?
Вот я скомпилировал пример:
#! /bin/sh
gcc /opt/firebird/lib/libfbclient.so.1.5.3 api3.c
ISC_USER=sysdba
ISC_PASSWORD=xxxxxxxxx
ISC_DATABASE=localhost:/opt/firebird/examples
./a.out
и получаю
Your user name and password are not defined. Ask your database administrator to set up a Firebird login.
Что не так ? Может подскажешь ?
-
- Заслуженный разработчик
- Сообщения: 644
- Зарегистрирован: 15 фев 2005, 11:34
Отгадай с 3-х разbal писал(а):А ты сам пробовал их компилировать, только честно ?
Очень, очень сложная и непонятная фраза. Впервые вижу. У кого бы ещё спросить ?bal писал(а):Your user name and password are not defined. Ask your database administrator to set up a Firebird login.
Что не так ? Может подскажешь ?
Да с этим все ясно, спасибо ! Тут в чем-то другом фишка. Из-под винды доступ есть, пароль работает. А программа не может. Хрен знает, не могу понятьIvan_Pisarevsky писал(а):Тебе ж на аглицком по белому сказано "пароль не тот". на линуксах "masterkey" приказал долго жить ужо давненько весьма...вдумчиво посмотри на каталог куды файрберд поставил, никакой файл на пароль не похож?

-
- Заслуженный разработчик
- Сообщения: 644
- Зарегистрирован: 15 фев 2005, 11:34
localhost:/opt/firebird/examples
Тебе не кажется , что тут файла БД не хватает?
Ты уверен, что винда именно на этот сервер ходит?
На сервере только один файрберд поставлен? точно больше никаких интербейзов или других версий ФБ не водилось? а то мож файл с текстами ошибок от другой версии и на самом деле сервер пытается сказать что нифига базу не нашел...
Тебе не кажется , что тут файла БД не хватает?
Ты уверен, что винда именно на этот сервер ходит?
На сервере только один файрберд поставлен? точно больше никаких интербейзов или других версий ФБ не водилось? а то мож файл с текстами ошибок от другой версии и на самом деле сервер пытается сказать что нифига базу не нашел...
Тут еще такая фишка. В файле SYSDBA.password переменныеbal писал(а):Да с этим все ясно, спасибо ! Тут в чем-то другом фишка. Из-под винды доступ есть, пароль работает. А программа не может. Хрен знает, не могу понятьIvan_Pisarevsky писал(а):Тебе ж на аглицком по белому сказано "пароль не тот". на линуксах "masterkey" приказал долго жить ужо давненько весьма...вдумчиво посмотри на каталог куды файрберд поставил, никакой файл на пароль не похож?
ISC_USER=sysdba
ISC_PASSWD=xxxxxx
а в readme
ISC_USER - A valid username on the server.
ISC_PASSWORD - The password for the above user.
Кому верить ? Я и так и этак пробовал. Все равно не работает

Да нет, все нормально. В Expert'е указаны IP сервера и путь /opt/firebird/examples/employee.fdb. Все открывается на ура ! Может что-то с владельцем employee.fdb. У меня владелец root, группа firedird. Пробовал root.root - тоже не работает. А винды и так и этак открывают.Ivan_Pisarevsky писал(а):localhost:/opt/firebird/examples
Тебе не кажется , что тут файла БД не хватает?
Ты уверен, что винда именно на этот сервер ходит?
На сервере только один файрберд поставлен? точно больше никаких интербейзов или других версий ФБ не водилось? а то мож файл с текстами ошибок от другой версии и на самом деле сервер пытается сказать что нифига базу не нашел...
-
- Заслуженный разработчик
- Сообщения: 644
- Зарегистрирован: 15 фев 2005, 11:34
>Кому верить ? Я и так и этак пробовал. Все равно не работает
Как только сервер установлен имеется ОДИН пользователь администратор этого сервера, именумый SYSDBA, и пароль тут же в файлике приложен. Потом SYSDBA может насоздавать столько юзеров, сколько нужно. это чистой воды RTFM.
>У меня владелец root, группа firedird.
Владельцем файла БД должен быть тот юзер, от имени которого запущен ФБ, по-умолчанию это firebird. И соответственно права на доступ "600", хотя сейчас можещь для пробы поставить "666", все равно база игровая.
Локально из-под isql к базе можешь подключиться?
gbak-ом забэкапить можешь?
>Да нет, все нормально.
Интересное понимание нормальности...
Как только сервер установлен имеется ОДИН пользователь администратор этого сервера, именумый SYSDBA, и пароль тут же в файлике приложен. Потом SYSDBA может насоздавать столько юзеров, сколько нужно. это чистой воды RTFM.

>У меня владелец root, группа firedird.
Владельцем файла БД должен быть тот юзер, от имени которого запущен ФБ, по-умолчанию это firebird. И соответственно права на доступ "600", хотя сейчас можещь для пробы поставить "666", все равно база игровая.
Локально из-под isql к базе можешь подключиться?
gbak-ом забэкапить можешь?
>Да нет, все нормально.
Интересное понимание нормальности...
Re: Доступ к базе на С под Linux
А С++ не катит?bal писал(а):Есть ли РАБОТАЮЩИЕ примеры на С под Linux ? Смотрел пример в книге "Мир IB",но на прилагаемом диске их нет.Скачал библиотеку FireFoot, но опять же без примеров. Может у кого-нибудь есть соответствующий опыт и исходники примеров ? Спасибо ! Сергей
Если катит то IBPP - вполне рабочий.
Или обязательно на их API надо?