1

Oracle データベースでテーブルを生成できますが、それらはデフォルトのテーブルスペースで生成されます。

NHibernate (またはお気に入りの流暢なマッピング API) を使用して作成する必要があるテーブルスペースを指定する方法を知っている人はいますか?

テーブルを手動で作成した場合 (作成時にテーブルスペースを指定)、その後、NHibernate と C# コードを介してテーブルにデータを挿入できます。

NHibernate を介してテーブルを生成し、データを挿入しようとすると、次のエラーが発生します。

NHibernate.Exceptions.GenericADOException: could not insert: [Some.Namespace.Core.MyObjectTable#fba3213d-bf7d-11e1-b71d-005056a80403][SQL: INSERT INTO "MyObjectTable" (Col1, Col2, Col3) VALUES (?, ?, ?)]

内部例外あり:

System.Data.OracleClient.OracleException: ORA-01950: no privileges on tablespace 'THE_DEFAULT_TABLESPACE'

確かにこれを回避する方法はありますか...?SQL Server ではそのような問題はありません。

4

1 に答える 1

0

テーブルスペースにクォータが必要です。たとえば、dba アカウントから次のステートメントを実行できます。

alter user <myuser> quota 5m on tablespace the_default_tablespace;
于 2012-06-27T04:36:57.917 に答える