Subject | user can't connect to a newly created DB. CONNECT fails with 28000. |
---|---|
Author | ktadimeti |
Post date | 2011-06-30T14:36:27Z |
All
I am new to Firebird. I have tried to read up the Borrie book and google hits to solve this issue, so please bear with my ignorance.
I want to create a DB owned by SYSDBA, and access it as a non-privileged user who can create objects. The Username is not recognized by ISQL, although found in GSEC. To gain access I granted RDB$ADMIN to the username. What is the normal privilege I need to merely make a connection?
Thanks in advance
MfG
TK
my steps:
a. create a user from GSEC.
GSEC> display
user name uid gid admin full name
----------------------------------------------------------------------
SYSDBA 0 0 Sql Server Administrator
ABCDEF 1 0 admin xxxx yyyy DBA
GSEC>
b. create a DB as sysdba from ISQL
CREATE DATABASE 'd:\ABCDEF\DEV\FIREBIRD\rough.fdb';
c. connect ABCDEF user to new DB
C:\>isql -user ABCDEF -password oracle;
Use CONNECT or CREATE DATABASE to specify a database
SQL> connect 'd:\ABCDEF\dev\firebird\rough.fdb';
Statement failed, SQLSTATE = 28000
Your user name and password are not defined. Ask your database administrator to set up a Firebird login.
SQL> exit;
d. connect as SYSDBA and grant RDB$ADMIN to ABCDEF
SQL> grant RDB$ADMIN to ABCDEF;
SQL> show grants;
/* Grant permissions for this database */
GRANT RDB$ADMIN TO ABCDEF
SQL> exit;
e. ABCDEF can now connect to the database
C:\>isql -user ABCDEF -password oracle -role rdb$admin 'd:\ABCDEF\dev\firebird\rough.fdb';
Database: d:\ABCDEF\dev\firebird\rough.fdb, User: ABCDEF, Role: RDB$ADMIN
SQL> show users;
Users in the database
# ABCDEF
I am new to Firebird. I have tried to read up the Borrie book and google hits to solve this issue, so please bear with my ignorance.
I want to create a DB owned by SYSDBA, and access it as a non-privileged user who can create objects. The Username is not recognized by ISQL, although found in GSEC. To gain access I granted RDB$ADMIN to the username. What is the normal privilege I need to merely make a connection?
Thanks in advance
MfG
TK
my steps:
a. create a user from GSEC.
GSEC> display
user name uid gid admin full name
----------------------------------------------------------------------
SYSDBA 0 0 Sql Server Administrator
ABCDEF 1 0 admin xxxx yyyy DBA
GSEC>
b. create a DB as sysdba from ISQL
CREATE DATABASE 'd:\ABCDEF\DEV\FIREBIRD\rough.fdb';
c. connect ABCDEF user to new DB
C:\>isql -user ABCDEF -password oracle;
Use CONNECT or CREATE DATABASE to specify a database
SQL> connect 'd:\ABCDEF\dev\firebird\rough.fdb';
Statement failed, SQLSTATE = 28000
Your user name and password are not defined. Ask your database administrator to set up a Firebird login.
SQL> exit;
d. connect as SYSDBA and grant RDB$ADMIN to ABCDEF
SQL> grant RDB$ADMIN to ABCDEF;
SQL> show grants;
/* Grant permissions for this database */
GRANT RDB$ADMIN TO ABCDEF
SQL> exit;
e. ABCDEF can now connect to the database
C:\>isql -user ABCDEF -password oracle -role rdb$admin 'd:\ABCDEF\dev\firebird\rough.fdb';
Database: d:\ABCDEF\dev\firebird\rough.fdb, User: ABCDEF, Role: RDB$ADMIN
SQL> show users;
Users in the database
# ABCDEF