2016-05-19 4 views
2

私は、認可オプションを追加する必要があるユーザーがいます。私は次のコマンドを試しました。Firebirdデータベースで許可オプションを持つユーザにどのように役割を与えますか?

grant myrole to myuser with grant option 

ただし、エラーが発生します。

Dynamic SQL Error SQL error code = -104 Token unknown - line 1, column 29 grant 

私はまた、ロールを取り消して、再度ロールを付与しようとしました。しかし、私は同じエラーが発生します。

私はグラントオプションなしでロールを付与することができます。私は正しい構文のマニュアルをチェックしたが、私は何を間違っているのか分からない。

+0

ええと、あなたが探しているマニュアルのどこに正確に依存しているようです。しかし、キーワードUSERでも、それはまだ動作しません。 – srayner

+0

使用しているFirebirdのバージョンは? –

答えて

4

GRANTwith grant optionはない役割のために、権限のみです。ロールの場合は、with admin optionを使用する必要があります。

GRANT <role_granted> 
TO <role_grantee_list> [WITH ADMIN OPTION] 
[{GRANTED BY | AS} [USER] grantor] 

任意WITH ADMIN OPTION句は、ユーザリストに指定されたユーザーが他のユーザーに指定されたロール[S]を付与することを可能にします。

+0

を作成したので、これは将来的に変更される可能性があります。当初はそれはうまくいかなかったが、ユーザーから最初にすべてを取り消さなければならなかった。 – srayner

2

Granting privileges

GRANT { 
     <privileges> ON [TABLE] {tablename | viewname} 
     | EXECUTE ON PROCEDURE procname 
      } 
    TO <grantee_list> 
     [WITH GRANT OPTION]} | [{GRANTED BY | AS} [USER] grantor]; 

「grantオプション付き」の使用を許可するようだが、役割を付与することは「GRANTオプションで」許可していないようです。それには 'with with admin'オプションがあります。なぜなら、 'with'という単語の後に 'admin'ではなく 'grant'という言葉が出現すると、エラーが発生したと推定します。

GRANT <role_granted> 
TO <role_grantee_list> [WITH ADMIN OPTION] 
[{GRANTED BY | AS} [USER] grantor] 
+0

私は、あなたがそれを行うことができるので(あなたの答えの第二の部分が意味するように)、この答えを言い換える必要があると思います。 –

+0

@MarkRotteveel「管理オプション付き」で彼が望むものを与えたかどうかは分かりませんでしたが、あなたの答えからはわかりました。だから私は私の答えで誤解を招く最初の文を削除しました。 – kjack

+1

はい、現時点ではありません。私はチケット[CORE-5248](http://tracker.firebirdsql.org/browse/CORE-5248) –

関連する問題