Skip to Main Content

Oracle Forms

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

FRM 30100

423853Dec 17 2004 — edited Dec 2 2008
Hi,

I am using forms 9i (9.0.2.9.0) and using oracle 9i database (Oracle9i Enterprise Edition Release 9.2.0.4.0). I am getting the FRM - 30100 error while compiling when I have a block with no primary key. I looked up the online help which said
"Cause: At least one item should be marked as being part of the primary key if one of the following is true: 1. The key mode for the block is either UPDATEABLE_PRIMARY_KEY or NON_UPDATEABLE_PRIMARY_KEY. 2. The key mode for the block is AUTOMATIC but the data source to which you are connected does not support UNIQUE key mode. "
My block is based on a single table, the enforce primary key is NO, the locking mode is Automatic and the Key mode is Automatic. I do not understand why it is necessary to have a primary key item. Doesn't Oracle support the Unique key mode??

Thanks,
Monica

Comments

423853
Just reposting. Hasn't anybody ever encountered this problem??

Regards,
Monica
or429809jt
Hi Monica,
For at least one item in the block, set the Primary Key item property to True.
Regards,
Ajeet
435552
hi,

itz not necessary that u need to have a primary key item for a block, when u are using locking mode & key mode as automatic.

But if u are using the key mode as automatic u have to make sure that the datasource u are using supports "RowId" .

check whether ur datasource supports rowid... and also try to connect to a different datasource & check whether the same problem still exists ...
435552
can u make sure that the block's data source type is TABLE itself ??
423853
Hi,

My block is based on a single table and the datasource property is set to table. I know what the workaround is for this problem. I did set the primary key property of an item to True and everything worked after that. What I want to find out is why this should be necessary even when none of the property settings of the block require a primary key in the block(as per the online help!) and the base table itself does not have a primary key.

Frank, is this a known bug or something?

Regards,
Monica
user346369
I ran into this same problem cloning a block in my form.

It turns out that you get this error, "FRM-30100: Block must have at least one primary key item." when the Query Data Source Name and the DML Data Target Name specify different tables.

Set DML Data Target Name blank, and the error goes away.
471948
I experienced the same problem. The Query Data Source Name was table and the DML Data Target Name was TABLE. As you can see, the problem was because of the "sensitiveness", I just put both in uppercase and problem solved.

Best wishes!
599568
Set Property of Block
DMLDataTarget type=None
Danish Hayder
Two SImple Steps

1-Open <Block> property pallet

2-SET ENFORCE PRIMARY KEY to No.


Regards
Danish Hayder

Message was edited by:
danish_rizvi
519916
If this doesn't work , try fgil's solution from above: Make sure that the Query Data Source Name and the DML Data Target Name are the same case (On the Block Properties Pallette).

It worked for me.
662373
Thanks a lot. Your solution is absolutely right.
1 - 11
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Dec 30 2008
Added on Dec 17 2004
11 comments
14,242 views