Foring Key Columns
After usage of Database Design Transformer I've accept Server Model Diagramm without FK Columns. All FK and relation in ER is OK.
When I've generate DDL scripts for tables I have not seen this columns eather.
Whats wrong (excluding my english :))?
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Gints Plivna ([email protected]):
A little bit didn't understand
1. If You haven't FK columns and Foreign Keys on tables You cannot generate tables with them :)
2. If You have these columns and keys then check options -> general options -> database -> "generate integrity constraints" and "foreign key generation requires join table" assuming you are using Design Editor 6.xxx
<HR></BLOCKQUOTE>
Thank You for help, but problem occured when'
I use Transformer. I try to solve it by Your advise, but it only possible if Database Design Transformer uses Design Editor Preferences.
I did not generate tables I've jult look through DDL scripts and have not found any FK columns.
The main problem is 'I have not ANY FK columns in my Server Model Diagramm'
Thanks & Regards
Viktor
null
Similar Messages
-
BOOLEAN DEFAULT FALSE NOT NULL for key-column
Hello,
These statements show an unexpected behavior when a column is added to a table as 'BOOLEAN DEFAULT FALSE NOT NULL' and added afterward to the table's primary key column set:
create table test_1 (a char(1))
insert into test_1 values('A')
alter table test_1 add b boolean default false not null
alter table test_1 add primary key (a,b)
create table test_2 (a char(1), b boolean default false not null)
insert into test_2 (a) values('A')
alter table test_2 add foreign key f_test_1 (a,b) references test_1 (a,b)
-> [350]: Referential integrity violated
update test_1 set b=false
alter table test_2 add foreign key f_test_1 (a,b) references test_1 (a,b)
-> success
delete from test_2
delete from test_1
insert into test_1 (a,b) values('A',false)
insert into test_2 (a) values('A')
-> success
I think the error message '[350] Referential integrity violated' should not happen because the column 'b' really contains 'false'. But there obviously seem to be a difference before and after setting the column 'b' explicitly to 'false'. I can imagine that this depends on the way how the index for the primary key is updated. Probably the index is not properly updated in this context(?)
GabrielHi Gabriel,
you're right, this is a bug and indeed seems to caused by the way the DEFAULT boolean is stored in the page.
(There is no separate index for the primary key in MaxDB as all data is stored in B*trees - basically the table is the primary key).
This is how the record looks like when column b is 'false' only due to the change of the DEFAULT value:
ROOT/LEAF 460 perm entries : 1 [block 0]
bottom : 93 filevers: 14888 convvers: 83
writecnt: 1
1: (pos 00081)
00001 recLen : 12 recKeyLen : 4
00005 recVarcolOff: 0 recVarcolCnt: 0
record
1 2 3 4 5 6 7 8 9 10 11 12
81 82 83 84 85 86 87 88 89 90 91 92
dec: 12 0 4 0 0 0 0 0 32 65 0 0
hex: 0C 00 04 00 00 00 00 00 20 41 00 00
chr: A
And this is how it looks like after the explicit UPDATE:
ROOT/LEAF 460 perm entries : 1 [block 0]
bottom : 93 filevers: 14888 convvers: 84
writecnt: 2
1: (pos 00081)
00001 recLen : 11 recKeyLen : 3
00005 recVarcolOff: 0 recVarcolCnt: 0
record
1 2 3 4 5 6 7 8 9 10 11
81 82 83 84 85 86 87 88 89 90 91
dec: 11 0 3 0 0 0 0 0 32 65 0
hex: 0B 00 03 00 00 00 00 00 20 41 00
chr: A
Little difference but this leads to the problems during the foreign key validation.
I'll inform the developers next week about this.
As a workaround you'll have to explicitly update the columns for which you change the default setting.
regards,
Lars -
Hello,
Can anyone please let me know if there is a way to suppress the Key column in the ExtendedValueSelector ui that appears for IModifiableSimpleType ?
Thanks and Best Regards, RituHi Ritu,
as Armin said, contact the local Web Dynpro control prime minister I wouldn't have dared to propose this.
Best regards
Stefan
PS: I hope the governance is something like a democracy -
Hit the exception when editing the value of row key column in a new created row in a table
1. I created a view object with 2 entity objects (parent table: YARD_FIXED_SLOT - child table: YARD_FIXED_SLOT_DETAIL) and the primary key of child table composes of 2 columns ( one of them is FK: YardFixedSlotDetail.FIXED_SLOT_ID REFERENCES YARD_FIXED_SLOT(FIXED_SLOT_ID)
SQL queries:
SELECT YardFixedSlotDetail.FIXED_SLOT_ID,
YardFixedSlotDetail.MODIFIED_DT,
YardFixedSlotDetail.SLOT_FROM_N,
YardFixedSlotDetail.SLOT_TO_N,
YardFixedSlotDetail.USER_ID,
YardFixedSlot.BLOCK_M,
YardFixedSlot.BLOCK_N,
YardFixedSlot.FIXED_SLOT_ID AS FIXED_SLOT_ID1,
YardFixedSlot.SECTION_N,
YardFixedSlot.STATUS_C,
YardFixedSlot.TERMINAL_C
FROM YARD_FIXED_SLOT_DETAIL YardFixedSlotDetail, YARD_FIXED_SLOT YardFixedSlot
YardFixedSlotDetail.FIXED_SLOT_ID = YardFixedSlot.FIXED_SLOT_ID
2. I dragged this view object into JSF page as an ediable table and add 'add' button to add a new row to the table. and the handling logic in managed bean is as followed. now one new row can be added succesfully in the table.
public void processSlotDetailCreation(ActionEvent ae)
DCBindingContainer bindings = (DCBindingContainer)getBindings();
DCIteratorBinding dciter = bindings.findIteratorBinding("YardFixedSlotDetailFindAllByBlock1Iterator");
Row row = dciter.getCurrentRow();
//get the last row for the index and create a new row for the //user to edit
Row lastRow = dciter.getNavigatableRowIterator().last();
YardFixedSlotDetailFindAllByBlockRowImpl newRow = (YardFixedSlotDetailFindAllByBlockRowImpl)dciter.getNavigatableRowIterator().createRow();
newRow.setFixedSlotId(new Integer(21));
newRow.setUserId("adftest");
newRow.setModifiedDt(new Timestamp(System.currentTimeMillis()));
//bug exist here
newRow.setSlotFromN(new Integer(1));
//newRow.setSlotToN(new Integer(1));
newRow.setNewRowState(Row.STATUS_INITIALIZED);
int lastRowIndex = dciter.getNavigatableRowIterator().getRangeIndexOf(lastRow);
dciter.getNavigatableRowIterator().insertRowAtRangeIndex( lastRowIndex+1, newRow);
// make the new row the current row of the table
dciter.setCurrentRowIndexInRange(lastRowIndex);
dciter.setCurrentRowWithKey(newRow.getKey().toStringFormat(true));
//table should have its displayRow attribute set to //"selected"
// AdfFacesContext.getCurrentInstance().addPartialTarget(slotDetailsTable);
3. When filling in a new value for SlotFromN column (note that SlotFromN column and FixedSlotId column are the rowKey), hit the exception below:
[2013-12-04T13:04:28.866+08:00] [DefaultServer] [ERROR] [] [oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter] [tid: [ACTIVE].ExecuteThread: '14' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: eb5e281b-6b07-4c17-987e-049792c97dda-000001bf,0] [APP: YPCApp] [DSID: 0000KAvzIaA5qYWFLzmJOA1IbdqZ000003] ADF_FACES-60096:Server Exception during PPR, #7[[
oracle.jbo.InvalidOperException: JBO-29114 ADFContext is not setup to process messages for this exception. Use the exception stack trace and error code to investigate the root cause of this exception. Root cause error code is JBO-34014. Error message parameters are {0=oracle.jbo.Key[21 null ], 1=root}
at oracle.jbo.uicli.binding.JUCtrlHierBinding.bringNodeToRangeKeyPath(JUCtrlHierBinding.java:859)
at oracle.adfinternal.view.faces.model.binding.FacesCtrlHierBinding.bringNodeToRangeKeyPath(FacesCtrlHierBinding.java:122)
at oracle.adfinternal.view.faces.model.binding.RowDataManager.setRowKey(RowDataManager.java:131)
at oracle.adfinternal.view.faces.model.binding.FacesCtrlHierBinding$FacesModel.setRowKey(FacesCtrlHierBinding.java:951)
at org.apache.myfaces.trinidad.component.UIXCollection.setRowKey(UIXCollection.java:527)
at org.apache.myfaces.trinidad.component.UIXTable.setRowKey(UIXTable.java:760)
at oracle.adfinternal.view.faces.renderkit.rich.TableRendererUtils._processStampedChildrenForActiveRow(TableRendererUtils.java:2950)
at oracle.adfinternal.view.faces.renderkit.rich.TableRendererUtils.processFacetsAndChildrenForClickToEdit(TableRendererUtils.java:1604)
at oracle.adfinternal.view.faces.renderkit.rich.TableRenderer.processFacetsAndChildrenForClickToEdit(TableRenderer.java:352)
at oracle.adfinternal.view.faces.renderkit.rich.TableRenderer.decodeChildren(TableRenderer.java:193)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1347)
at org.apache.myfaces.trinidad.component.UIXCollection.processDecodes(UIXCollection.java:226)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1365)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1351)
at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:1124)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1365)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1351)
at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:1124)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1365)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1351)
at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:1124)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1365)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1351)
at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:1124)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1365)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1351)
at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:1124)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1365)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1351)
at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:1124)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1365)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1351)
at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:1124)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1365)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1351)
at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:1124)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1365)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1351)
at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:1124)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1365)
at oracle.adf.view.rich.component.fragment.UIXRegion.decodeChildrenImpl(UIXRegion.java:605)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1351)
at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:1124)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1365)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1351)
at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:1124)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1365)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1351)
at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:1124)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1365)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1351)
at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:1124)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1365)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1351)
at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:1124)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1365)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1351)
at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:1124)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1365)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1351)
at org.apache.myfaces.trinidad.component.UIXForm.processDecodes(UIXForm.java:75)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1365)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1351)
at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:1124)
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176)
at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:933)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl$ApplyRequestValuesCallback.invokeContextCallback(LifecycleImpl.java:1574)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:416)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:225)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:280)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:254)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:136)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:341)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:192)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:478)
at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:478)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:303)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:208)
at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:137)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:460)
at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:120)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:217)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:81)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:225)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3367)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3333)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)
at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2220)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2146)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2124)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1564)
at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:254)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:295)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:254)
4. I think problem maybe is related with row key, but I need end user to change rowkey column value. does it allow changing the value of column as row key? I found this problem maybe only occur for new created row. For those existing rows, even I change the value of row key column, no such problem occurred, how do I handle this situation?
Appriciate if anybody can help.Hi Bangaram,
Thank you for your reply.
The error: "Root cause error code is JBO-34014. Error message parameters are {0=oracle.jbo.Key[21 null ], 1=root} "
I didn't create master records, I just used joint queries for information display of both master and detail. I am trying to create a row in the UI table to create a new detail record and master record already exists.
The row key for new added row in UI rich table is [21 null ], row key of detail records table composes of 2 columns. 21 is for FixedSlotId and null is for SlotFromN. when I provide a new value for SlotFromN column in UI rich table, problem will occur. -
My final data table contains a two key columns unique key constraint. I insert data into this table from a daily capture table (which also contains the two columns that make up the key in the final data table but are not constrained
(not unique) in the daily capture table). I don't want to insert rows from daily capture which already exists in final data table (based on the two key columns). Currently, what I do is to select * into a #temp table from the join
of daily capture and final data tables on these two key columns. Then I delete the rows in the daily capture table which match the #temp table. Then I insert the remaining rows from daily capture into the final data table.
Would it be possible to simplify this process by using an Instead Of trigger in the final table and just insert directly from the daily capture table? How would this look?
What is the best practice for inserting unique (new) rows and ignoring duplicate rows (rows that already exist in both the daily capture and final data tables) in my particular operation?
Rich PPlease follow basic Netiquette and post the DDL we need to answer this. Follow industry and ANSI/ISO standards in your data. You should follow ISO-11179 rules for naming data elements. You should follow ISO-8601 rules for displaying temporal data. We need
to know the data types, keys and constraints on the table. Avoid dialect in favor of ANSI/ISO Standard SQL. And you need to read and download the PDF for:
https://www.simple-talk.com/books/sql-books/119-sql-code-smells/
>> My final data table contains a two key columns unique key constraint. [unh? one two-column key or two one column keys? Sure wish you posted DDL] I insert data into this table from a daily capture table (which also contains the two columns that make
up the key in the final data table but are not constrained (not unique) in the daily capture table). <<
Then the "capture table" is not a table at all! Remember the fist day of your RDBMS class? A table has to have a key. You need to fix this error. What ETL tool do you use?
>> I don't want to insert rows from daily capture which already exists in final data table (based on the two key columns). <<
MERGE statement; Google it. And do not use temp tables.
--CELKO-- Books in Celko Series for Morgan-Kaufmann Publishing: Analytics and OLAP in SQL / Data and Databases: Concepts in Practice Data / Measurements and Standards in SQL SQL for Smarties / SQL Programming Style / SQL Puzzles and Answers / Thinking
in Sets / Trees and Hierarchies in SQL -
No Primary Key Column set. error
Hi all,
Firstly, thank you to DWFAQ for advice a tutorials.
Secondly, I have built a contact form using the update record
form wizard in ADDT -
http://dwfaq.info/home.php?id=4
I have hit a problem, when running the form I get the
following error:
Error:
Internal error.
Developer Details:
tNG_update.prepareSQL:
No Primary Key Column was set. (UPD_NO_PK_SET)
tNG Execution Trace - VIEW
* tNG_update.executeTransaction
o STARTER.Trigger_Default_Starter
o tNG_update.doTransaction
+ BEFORE.Trigger_Default_saveData
# tNG_update.saveData
+ BEFORE.Trigger_Default_FormValidation
+ tNG_update.prepareSQL*
o tNG_update.getRecordset
o tNG_update.getFakeRsArr
o tNG_update.getLocalRecordset
o tNG_update.getFakeRecordset
Could somebody please help - I'm so close it hurts ;-)
Thank you
NJHeya,
Looks like your DB is all setup correctly it must be the
primary key in the transaction of the script.
Make sure id is set as the primary key in your Update Record
Form Wizard. You php code should look something like this:
// Add columns
$upd_contact->setTable("cvform");
$upd_contact->addColumn("firstname", "STRING_TYPE",
"POST", "firstname");
$upd_contact->addColumn("lastname", "STRING_TYPE", "POST",
"lastname");
$upd_contact->addColumn("email", "STRING_TYPE", "POST",
"email");
$upd_contact->addColumn("message", "STRING_TYPE", "POST",
"message");
$upd_contact->addColumn("attachment", "FILE_TYPE",
"FILES", "attachment");
$upd_contact->addColumn("phonenumber", "STRING_TYPE",
"POST", "phonenumber");
$upd_contact->setPrimaryKey("id", "NUMERIC_TYPE", "VALUE",
"id");
// Execute all the registered transactions
$tNGs->executeTransactions();
You may have to post your script to see what the problem is.
Most likely something not followed correctly in the tutorial. If
you are able to post your php script as a text file then link to
the file here with .txt extension I can take a look at it and see
where the problem is. Make sure to remove any info that may
compromise your database when providing your php script or contact
me through my website and I can help you out off the forum.
Hope that helps! -
SQL Data Sync - column type invalid for use as a key column
Hello,
our sync group is failing to do the sync. Here's a tracingID:
For more information, provide tracing ID ‘e3e568b5-140a-4ae5-a4c8-c178c6bf805d’ to customer support.
I must say, that the column in DB is not a PK or INDEX-ed, it was initially VARCHAR(MAX), after some reading I changed it to VARCHAR(200) and later to TEXT, but the result of syncing is still the same.
Thank you,
BojanHi Bojan,
The error “column type invalid for use as a key column” could be due to the existence of unsupported data types or column properties when implementing the synchronization. I recommend you check your database according to this article:
SQL Database Data Types supported by SQL Data Sync.
Besides, before you design and implement a data synchronization plan, please check the following articles about system requirements for SQL Data Sync and so on.
System Requirements for SQL Data Sync
https://msdn.microsoft.com/en-us/library/azure/jj127278.aspx
Known SQL Data Sync Limits
https://msdn.microsoft.com/en-us/library/azure/jj590380.aspx
SQL Data Sync Best Practices
https://msdn.microsoft.com/en-us/library/azure/hh667328.aspx
Thanks,
Lydia Zhang
Lydia Zhang
TechNet Community Support -
Key Column Value in Geometry Theme
Hi,
I have serveral predefined ThemeBasedFOI Layer like this:
<?xml version="1.0" standalone="yes"?>
<styling_rules key_column="ID">
<hidden_info>
<field column="BAUFELDNUMMER" name="Baufeld-Nr."/>
<field column="FLAECHE_TXT" name="Fläche (m²)"/>
</hidden_info>
<rule>
<features style="C.QY_EG_BAUFELDGRENZE"> (FLAECHE >= :1 AND FLAECHE <= :2) </features>
<label column="BAUFELDNUMMER" style="T.GP_BAUFELDNR"> 1 </label>
</rule>
</styling_rules>
How can I access the value of the key column of each feature in the themebasedFOI layer?
What I'm trying to do is calling MVThemeBasedFOI.getFOIData(). As a result i'm getting an Array of FOI data. Each element has an id-property, but unfortunately that ID is not the database ID i'm looking for. It looks likes "AAARYUAAJAAADBOAAN".
Thanks
DominikThe id value of the FOI data element should be the value of whatever column set as key_column. What's the mapviewer version? Did you restart mapviewer or clear the metadata cache after making changes to the themes?
-
How to know primary key column name form a table name in sql query
Suppose I only know the table name. How to get its primary key column name from the table name?
ThanksViews don't have primary keys though their underlying tables might. You'd need to pick apart the view to determine where it's columns are coming from.
You can select the text of the view in question from user_views. -
What is the key column name and value column name in JDBC Adapter parameter
Hi
Can any one please tell me what is the Key Column Name and Key Column Value in JDBC adatper parameters. If i dont mention those parameters i am getting the following error
<b> Value missing for mandatory configuration attribute tableEOColumnNameId</b>
Please help me
Best Regards
Ravi Shankar BHi
I am doing DataBase Lookup in XI
First i have created a Table in Database( CheckUser) which has two fields UserName and PhoneNumber and then i have created
I have created one Communication Channel For Reciever Adapter .
I have given the parameters like this
JDBC Driver : com.microsoft.jdbc.sqlserver.SQLServerDriver
Connection : jdbc:microsoft:sqlserver://10.7.1.43:1433;DatabaseName=Ravi;
UserName.... sa
password.... sa
persistence : Database
Database Table Name : CheckUser
Key column name and Value column name i left blank and activated
and then
I have created
Data Types : Source ...... UserName
Destination.... PhoneNumber
Message Types
Message Interfaces
In Message Mapping
I have created one User Defined function DBProcessing_SpecialAPI().This method will get the data from the database....
In this function i have written the following code
//write your code here
String query = " ";
Channel channel = null;
DataBaseAccessor accessor = null;
DataBaseResult resultSet = null;
query = "select Password from CheckUser where UserName = ' " +UserName[0]+ " ' ";
try {
channel = LookupService.getChannel("Ravi","CC_JDBC");
accessor = LookupService.getDataBaseAccessor(channel);
resultSet = accessor.execute(query);
for(Iterator rows = resultSet.getRows();rows.hasNext();){
Map rowMap = (Map)rows.next();
result.addValue((String)rowMap.get("Password"));
catch(Exception e){
result.addValue(e.getMessage());
finally{
try{
if(accessor != null)
accessor.close();
}catch(Exception e){
result.addValue(e.getMessage());
And the i have mapped like this
UserName -
> DBProcessing_SpecialAPI----
>PhoneNumber
when i am testing this mapping i am getting the following error
<?xml version="1.0" encoding="UTF-8"?>
<ns0:Dest_JDBC_MT xmlns:ns0="http://filetofilescenario.com/ilg"><phoneNumber>Plain exception:Problem when calling an adapter by using communication channel CC_JDBC (Party: , Service: Ravi, Object ID: c360bc139a403293afbc49d5c46e4478) Check whether the communication channel exists in the Integration Directory; also check the cache notifications for the instance Integration Server (central Adapter-Engine) Channel object with Id Channel:c360bc139a403293afbc49d5c46e4478 not available in CPA Cache.
com.sap.aii.mapping.lookup.LookupException: Problem when calling an adapter by using communication channel CC_JDBC (Party: , Service: Ravi, Object ID: c360bc139a403293afbc49d5c46e4478) Check whether the communication channel exists in the Integration Directory; also check the cache notifications for the instance Integration Server (central Adapter-Engine) Channel object with Id Channel:c360bc139a403293afbc49d5c46e4478 not available in CPA Cache.
at com.sap.aii.ibrun.server.lookup.AdapterProxyLocal.<init>(AdapterProxyLocal.java:61)
at com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.getProxy(SystemAccessorInternal.java:98)
at com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.<init>(SystemAccessorInternal.java:38)
at com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.getConnection(SystemAccessorHmiServer.java:270)
at com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.process(SystemAccessorHmiServer.java:70)
at com.sap.aii.utilxi.hmis.server.HmisServiceImpl.invokeMethod(HmisServiceImpl.java:169)
at com.sap.aii.utilxi.hmis.server.HmisServer.process(HmisServer.java:178)
at com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:296)
at com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:211)
at com.sap.aii.utilxi.hmis.web.workers.HmisInternalClient.doWork(HmisInternalClient.java:70)
at com.sap.aii.utilxi.hmis.web.HmisServletImpl.doWork(HmisServletImpl.java:496)
at com.sap.aii.utilxi.hmis.web.HmisServletImpl.doPost(HmisServletImpl.java:634)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
</phoneNumber></ns0:Dest_JDBC_MT>
In RWB i have checked the status of JDBC driver its showing the following error
<b>Value missing for mandatory configuration attribute tableEOColumnNameId</b>
Best Regards
Ravi Shankar B
Message was edited by:
RaviShankar B -
Primary key column auto increment
Hello,
In my Azure SQL Database I noticed that weird thing is happening. I have table with primary key column with auto increment, and all works fine, on new insert that value automatically increment, but every now and then, that value, for no reason, increments
for 1000.
For instance i have in DB values in this order: 1, 2, 3, 4, 1001, 1002, 1003, 2004, 2005, 3001, 3002...
Why is this happening?Hello ,
you can see this thread :
http://stackoverflow.com/questions/17012339/windows-azure-sql-database-identity-auto-increment-column-skips-values
It's seems that SQL Server work with sequence and block 1000 values. In the cloud, your SQL Azure Database can be move from one server to an other or restarted and so a new sequence is used. That's why you jump from 4 to 1001.
Regards -
ORA-20001: Secondary key column identified wwas not located in the select l
Error in mru internal routine: ORA-20001: Secondary key column identified was not located in the select list of the query
I am receiving this error when I try and update a record in an updatable report (SQL QUERY Updateable). Two of the values being updated rely on a named LOV.
The SQL query for the report does pull in both the keys (there are two keys)....I am not certain why this is happening...any clues would be appreciated.
thanks. Karensorry. I thought I had made it current. It is now.
I am not certain if you will be able to run it as it is accessing our test tables. Will I need to move those tables to the workspace. I am also checking here to see if anyone has had experience. thankyou for your patience. I really appreciate it.
karen -
REMOVE_ELEMENT in a Table with ( tree by key Column )
Hi all,
Designed a table with Tree by key column ( a Normal table with tree )
In one of the row there is a Drop down field provided for selection.
We have delete button provided to the customer.
In this delete button handeled removing the Lead selected row using the method REMOVE_ELEMENT of COntext_node.
so in the context node if we are having 15 elements. The particluar hierarchy selected can have minimun 4 elements
In the UI display the total node( total hierarchy node) is getting deleted but in the debugging mode the node is having 14 elements.
Kindly suggest how to handle it so that in the node also i have the total hierarchy deleted.
Thank you,
UshaHello Usha,
For this you need write the logic. If you are deleting a context element of ID say 'ROW1', then you need to take care of deleting all the context element which has parent key as 'ROW1'.
BR, Saravanan -
FillSchema picks too many primary key columns
I don't know whether this is an ODP.NET error or a Microsoft error.
Oracle9i Release 9.2.0.1.0
ODP.NET 9.2.0.4
.NET Framework 1.1
Create a table with one primary key column and one unique column and name the primary key column like the unique column with the suffix "_ID":
CREATE TABLE t_bib_uebertrag_kap(
  kapazitaet_id NUMBER(8) NOT NULL
   CONSTRAINT pk_kapa primary key,
  kapazitaet VARCHAR2(15) NOT NULL
   CONSTRAINT a_un_kapa unique,
  geschwindigkeit NUMBER(12) NOT NULL,
  bemerkung VARCHAR2(255)
After calling FillSchema on this table the PrimaryKey property of the DataTable contains 2 columns: KAPAZITAET_ID and KAPAZITAET.
The same happens with other tables and similar column names
R. LüthkeTony, I'm gonna find time to try this because I was thinking it probably would be a double check.
BUT... Oracle is written in C, and I imagine the extra check as a simple if comparison for the new value versus a constant NULL value. Kind of like checking for end of string. It's already doing things like checking datatypes and that as it inserts data, and I don't think this additional check (if it even exists) would add any significant overhead.
But unless I find a much larger performance hit than I expect, I'm gonna stick with creating the NOT NULL's explicitly. Good data modelling trumps small performance tricks for me.
My main worry is if/when somebody removes the primary key constraint (such as the example above where they might do a CREATE TABLE x AS SELECT * FROM y). Or if the data model gets updated to where the primary key becomes just a unique key, then the NOT NULL goes away when it shouldn't. I don't like basic table and column properties changing.
Okay.. test done. Ran about 31,000 records from dba_tables through an insert into two tables, both with primary keys and one with explicit NOT NULLs. No measurable difference in stats detected.
With NOT NULL and PRIMARY KEY:
call count cpu elapsed disk query current rows
Parse 1 0.35 0.35 0 0 0 0
Execute 1 1.88 1.83 0 24792 35887 30954
Fetch 0 0.00 0.00 0 0 0 0
total 2 2.24 2.18 0 24792 35887 30954
Now with only PRIMARY KEY.
call count cpu elapsed disk query current rows
Parse 1 0.37 0.36 0 0 0 0
Execute 1 1.87 1.83 0 24792 35887 30954
Fetch 0 0.00 0.00 0 0 0 0
total 2 2.24 2.19 0 24792 35887 30954 -
Reconciliation and the Key Column for Oracle DB
I have a oracle DB with the key column called employee number (ie. 12345)
In the form for my reconciliation, I assigned the employee number to an extended attribute called employeeId as below. This field is defined in the User Extended Attributes object already.
<Field name='accounts[Lighthouse].employeeId'>
<Expansion>
<ref>global.identity</ref>
</Expansion>
</Field>
When I view a user in the debug page, I don't see the employeeId being populated. Do you know why?
ThanksYes, I'm able to populate other fields fine. Right now I just populated the 7 fields within IDM. The problem is the employee number is the key column in the schema and with ActiveSync, it works fine right now using ActiveSync.identity so I tried the same thing for reconciliation but it does not seem to work.
I could try to map the employee number in the schema but i want to try to figure out other ways first.
Maybe you are looking for
-
Can I use my iphone 4 with Powerbook G4? It wont let me. Please help!!!
Hi all! I've just opened my new iphone and tried to connect it to my powerbook g4 but it say that 'the iphone can not be used as it requires Mac OSX 10.5.8 or later'. My powerbook currently has 10.4.11. I've checked for updates but my Mac say I'm up
-
I am having a problem with my iphone... I tried to do the IOS 6 update through itunes and it is now prompting me to restore my phone to original settings and my phone is stuck in recovery mode (with the usb connection/itunes icon displayed on the scr
-
Default spry css not working correctly
Hi. I made my first Spry tabbed panel, CS3 on a Mac. It worked perfectly in Safari, and on a PC with Explorer. However the panels were not "stacked" under each other in Firefox and Opera - displayed all tab content as one long column . I ran a css va
-
Upgrading to 10g with a Physical Standby in Place
I am looking through Oracle note 278521.1 for upgrading my Oracle database with stand by database and I have problem with step 15: 15. In order to optimize performance the 10g Release 1 and lower versions of the Database Upgrade Assistant will disab
-
Kobo will not appear on Bookshelf
I need help, my Kobo will not appear in the Bookshelf (Adobe Digital Editions), have tried everything!!