2012-04-11 40 views
1

我试图使用Oracle 10g创建一个图书馆系统(学校工作),但我被困在创造简单APEX报表和表单,错误消息说:无法创建的Oracle APEX应用程序错误ORA-20001

ORA-20001:无法创建模块。 ORA-20001:创建页面错误。 ORA-20001:无法创建表单页面。 ORA-20001:错误页面= 8 item =“P8_BRANCHID”id =“”ORA-20001:Error page = 8 item =“P8_BRANCHID” id =“”与现有的应用程序级别项目具有相同的名称。 ORA-0000: 正常,成功完成

无法创建应用程序。

这是我的架构,万一我做错了什么:

create table publisher(
PublisherName varchar2(30) not null, 
Address varchar2(30) not null, 
Phone number(20), 
constraint publisher_pk primary key (PublisherName) 
); 

create table book(
BookId number(4) not null, 
Title varchar2(50) not null, 
PublisherName varchar2(30) not null, 
constraint book_pk primary key (BookId), 
constraint book_fk foreign key (PublisherName) 
references publisher (PublisherName) 
); 

create table bookauthors(
BookId number(4) not null, 
AuthorName varchar2(30) not null, 
constraint bookauthors_pk primary key (BookId,AuthorName), 
constraint bookauthors_fk foreign key (BookId) references book (BookId) 
); 

create table librarybranch(
BranchId number(4) not null, 
BranchName varchar2(30) not null, 
Address varchar2(30) not null, 
constraint librarybranch_pk primary key (BranchId) 
); 

create table borrower(
CardNo number(4) not null, 
BName varchar2(30) not null, 
Address varchar2(30) not null, 
Phone number(20) not null, 
constraint borrower_pk primary key (CardNo) 
); 

create table bookcopies(
BookId number(4) not null, 
BranchId number(4) not null, 
No_Of_Copies number(4) not null, 
constraint bookcopies_pk primary key (BookId,BranchId), 
constraint bookcopies_fk foreign key (BookId) references book (BookId), 
constraint bookcopies2_fk foreign key (BranchId) references librarybranch (BranchId) 
); 

create table bookloans(
BookId number(4) not null, 
BranchId number(4) not null, 
CardNo number(4) not null, 
DateOut date, 
DueDate date, 
constraint bookloans_pk primary key (BookId,BranchId,CardNo), 
constraint bookloans_fk foreign key (BookId) references book (BookId), 
constraint bookloans2_fk foreign key (BranchId) references librarybranch (BranchId), 
constraint bookloans3_fk foreign key (CardNo) references borrower (CardNo) 
); 

感谢。

+0

与您的问题无关,但我认为'bookloans'表格需要一些调整。应该将FKs 1和2合并为一个:'约束bookloans_fk外键(BookId,BranchId)引用librarybranch(BookId,BranchId)' – 2012-04-11 20:26:29

+0

您还可以添加一个Check约束,即DateOut 2012-04-11 20:29:30

+0

一种强制图书馆没有借出只有3份副本的书籍的4份(或100份)副本的方法。 (这比对模式进行简单更改要困难) – 2012-04-11 20:30:57

回答

2

我不认为你的模式有什么问题;此错误ORA-20001是Apex应用程序引发的自定义应用程序错误,而不是数据库。我会以面值:...Error page=8 item="P8_BRANCHID" id="" has same name as existing application-level item。看起来您的第8页有一个名为P8_BRANCHID的页面项目,但在应用程序项目中也可能会有类似的项目。去你的申请项目,看看你是否有一个相同的名字。

+0

我将如何去申请项目? – J4RG0N 2012-04-12 01:31:36

+0

@ J4RG0N从您的Apex应用程序中,转到共享组件,然后转到应用程序项目。 – Wolf 2012-04-12 02:56:37