2

Firebird データベースに読み取り専用で接続したい (.fdbアプリケーションの場所が読み取り専用であるため)。

私はこのように接続します:

conn = fdb.connect(dsn="/path/to.fdb", user='****', password='****', charset='iso8859_1')

私が得ているエラーは次のとおりです。

データベースへの接続中にエラーが発生しました:\n- SQLCODE: -551\n- データベースへの読み取り/書き込みアクセスの権限がありません /path/to.fdb', -551, 335544352

FDB v2.0 を使用しています。読み取り専用接続に関するオンライン ドキュメントは見つかりませんでした。

4

2 に答える 2

1

おそらく、特定の役割を持つ DB のユーザーを作成し、その後の接続でこの役割を使用することをお勧めします。このようなもの:

$ isql firstdb.fdb -user SYSDBA -password masterkey
Database:  firstdb.fdb, User: SYSDBA
SQL> CREATE ROLE firstdbadmin;
SQL> GRANT SELECT, UPDATE, INSERT, DELETE ON sales_catalog
CON> TO ROLE firstdbadmin;
SQL> GRANT firstdbadmin TO TestAdmin;
SQL> quit;

接続の作成中に「ロール」引数を使用しようとしましたか? ここここここを見ることができます

于 2019-04-01T14:46:31.417 に答える