Sziasztok!
Olyan problámám lenne, hogy próbálok beüzemelni egy firebird adatbázis szervert debian linux alatt. Az adatbázis szerver feltelepül és szépen lehet is látni, hogy a 3050 porton figyel. A bajom akkor kezdődik amikor szeretnék az isql-fb utility-vel készíteni egy adatbázist, ekkor ezt kapom válaszul:
# isql-fb -u sysdba -p masterkey
Use CONNECT or CREATE DATABASE to specify a database
SQL> create database 'proba.gdb';
Statement failed, SQLCODE = -902
I/O error for file "/root/proba.gdb"
-Error while trying to create file
-Permission denied
SQL>
De akkor is az SQLCODE = -902 hibakódot kapom, amikor egy már meglévő adatbázis fájlhoz szeretnék csatlakozni.
Mit tudok ilyenkor tenni?
Segitségeteket előre is köszönöm!
- 3203 megtekintés
Hozzászólások
firebird usernek van írási joga abban a könyvtárban, ahol létre akarod hozni az új adatbázist? (/root-ban nem biztos!)
- A hozzászóláshoz be kell jelentkezni
Köszi! Ég az orcám, mindenre gondoltam de erre nem!
Mégegyszer köszönöm!
- A hozzászóláshoz be kell jelentkezni
Sziasztok!
Mégis csak szenvedek! Ha már meglévő adatbázishoz szeretnék csatlakozni, akkor ezt a hibaüzenetet kapom:
#isql-fb -u sysdba -p masterkey
Use CONNECT or CREATE DATABASE to specify a database
SQL> connect '/home/a/test.gdb';
Statement failed, SQLCODE = -902
Your login SYSDBA is same as one of the SQL role name. Ask your database administrator to set up a valid Firebird login.
SQL>
- A hozzászóláshoz be kell jelentkezni
A meglévő adatbázison (*.gdb) is állítsad be a jogosultságot. Persze nem árt ha az "a" nevü lúzer könyvtárába beléphet a "firebird" felhasználó.
Az ilyenek elkerülése végett root-tal létrehoznék egy könyvtárat: például "/usr/local/data/fb". Meg kell adni erre a könyvtárra a "firebird"-nek minden jogot, csak neki! A többieknek csak olvasás.
Átváltanék "firebird" felhasználóra, és oda létrehoznám az adatbázist ami kell....
Ide így mindig lesz joga írni!!!
Perger Attila
- A hozzászóláshoz be kell jelentkezni
Ezeket már végig csináltam. Addig jó a dolog, hogy létrehozom az adatbázist. (talán most már a jogosúlságok is jók) Tudok csatlakozni hozzá, táblákat készíteni, stb. Amikor egy előzőleg létrehozott gbak-kal készítettet mentést szeretnék visszahúzni rá, akkor bolondul meg minden. A visszaállítás lefut és a végén kapok egy ilyen üzit:
gbak: ERROR: Your login SYSDBA is same as one of the SQL role name. Ask your database administrator to set up a valid Firebird login.
gbak: Exiting before completion due to errors
Innentől nem tudok az adatbázishoz hozzácsatlakozni. Lehet még ez is jogosultság kérdése?
- A hozzászóláshoz be kell jelentkezni
Akkor van ilyen hibaüzenet, ha abban az adatbázisban, amit meg szeretnél nyitni létezik egy SYSDBA nevű role. Azzal a felhasználónév / jelszóval kéne belépned, akinek van jogosultsága az adatbázis táblák eléréséhez (és nem a SYSDBA user). Általában ez egy bevett védelmi módszer, amivel megakadályozzák, hogy az adatbázis fájl áthelyezésével az alapértelmezett SYSDBA felhasználó nevében hozzáférjél az adatokhoz.
- A hozzászóláshoz be kell jelentkezni
Debian alatt, ha csomagbol tetted fel a firebird2-t, akkor a /var/lib/firebird2-ben kialakit egy konyvtar-strukturat. Celszeru minden db-t oda helyezni. Itt mar kialakitott a firebird tulajdonu konyvtarstruktura (firebird.firebird: 770) Van a /etc/firebird2-ben egy aliases.conf nevu file, ebben lehet az adatbazisokhoz aliast rendelni, akkor kivulrol nem kell tudni az eleresi utvonalat.
pl. employee.fdb=/var/lib/firebird2/data/employee.fdb
igy localhost:employee.fdb eleressel tudod hasznalni. Ha grafikus kornyezetet hasznalsz, ajanlom inkabb a flamerobin-t, kisse kenyelesebb, mint az isql-fb. Persze, ha scriptbol hivod, akkor az kell.
- A hozzászóláshoz be kell jelentkezni
Köszönöm mindenkinek a segítő válaszokat!
- A hozzászóláshoz be kell jelentkezni