NHibernate,Oracle和Tablespaces

时间:2012-06-26 13:18:42

标签: c# .net oracle nhibernate fluent-nhibernate

我能够在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没有这样的问题。

1 个答案:

答案 0 :(得分:0)

您需要在表空间上配额。例如,您可以从dba帐户运行以下语句:

alter user <myuser> quota 5m on tablespace the_default_tablespace;