我能够在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没有这样的问题。
答案 0 :(得分:0)
您需要在表空间上配额。例如,您可以从dba帐户运行以下语句:
alter user <myuser> quota 5m on tablespace the_default_tablespace;