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 回答