Configuring non standard foreign keys

Hi all,
I am sure this is very easy, but I can't get it to work & would appreciate some guidance. Basically, I have two classes similar to the following:
Partial Public Class ShoeRecord
   Public Property Id as integer
   Public Property size as string
   Public Property ShoeLaceColour as string
End Class
..... and also.....
Partial Public Class ShoeSet
   Public Property Id as Integer
   Public Property LeftShoeId as Integer
   Public Property RightShoeId as Integer
End Class
Everything runs okay with it set up as-is, but then I tried to change  ShoeSet as follows.......
Partial Public Class ShoeSet
   Public Property Id as Integer
   Public Property LeftShoeId as Integer
   Public Property leftShoe as ShoeRecord
   Public Property RightShoeId as Integer
   Public Property RightShoe as ShoeRecord
End Class
When I try to migrate, I get the following error:
 "Error Number:1785,State:0,Class:16
Introducing FOREIGN KEY constraint 'FK_dbo.ShoeSets_dbo.ShoeRecords_LeftShoeId' on table 'ShoeSets' may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints.
Could not create constraint. See previous errors."
I have been trying to use fluent API to configure the relationship between keys LeftShoeId and ShoeRecord.Id, but can't seem to get it working. Can anyone help?
Thanks.

Hello,
Please have a try to set the WillCascadeOnDelete with a false flag as:
modelBuilder.Entity<ShoeSet>().HasRequired(s => s.leftShoe).WithMany().HasForeignKey(s=>s.LeftShoeId).WillCascadeOnDelete(false);
modelBuilder.Entity<ShoeSet>().HasRequired(s => s.RightShoe).WithMany().HasForeignKey(s => s.RightShoeId).WillCascadeOnDelete(false);
As the exception already describes that there is a cycle reference in the current model, setting the WillCascadeOnDelete with a false flag will specify the ON DELETE NO ACTION or ON UPDATE NO ACTION.
If you need to know more about this issue, please refer to this link:
Introducing FOREIGN KEY constraint may cause cycles or multiple cascade paths
Regards.
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click
HERE to participate the survey.

Similar Messages

  • Data modeler: (non) mandatory foreign keys???

    Hi there,
    can anybody explain what the difference between mandatory and non-mandatory FKs, as displayed in the data modeler???
    There is this check box and the documentation does not really explain, what database feature this non-mandatory FK corresponds to... It is certainly not about a deferred foreign key and also not about a deactivated one. So what is this?

    Philip Stoyanov wrote:
    non-mandatory FK will constitute non-mandatory FK columns, hence you cannot have non-mandatory FK if FK columns are part of primary key.
    PhilipHi,
    thanks but...I don't understand your point.
    Do you agree, with the following:
    1.non-mandatory means optional right?
    2.Foreign key constraints are always optional from a physical model point of view.
    3.FKs always point on PKs
    An additional comment: I just had used the data modeler plugin of the sql developer and reverse engineered some tables from our schema.
    So in this case, all information must come from the database. I wonder, what is the reason for marking one FK as mandatory and the other as optional...
    I could find any physical difference with other FKs in user_constraints etc.
    Thanks in advance,
    Xenofon

  • How To Configure non-standard SMTP port

    My ISP has blocked port 25. I have a service that will deliver mail to the port of my choosing. How do I configure Leopard Server to listen on a non-standard SMTP port? 2525 for example.
    Also, I assume all I have to do on my Airport Express is set up NAT to rake external port 2525 and point it to the private address of my email server on port 2525. Is this correct?
    Thanks,
    -ernie

    Assuming such is offered, look to acquire a business-class ISP service level, and move on to the next issue? The business-class services typically provide static IP address(es), opens up server ports, and sets up DNS and ISP-side server connections for your hosts. And you can call your ISP or other assistance when your network craters; non-standard connections are (as you've found) harder to support.
    One subtlety here: in a number of cases, simply having a business-class service means you're supported by a different group within (larger) ISPs. This can be a significant advantage at times, given that the scripts and tools and such that are available for the business group will be rather more targeted than the scripts that are available for the residential services group at the ISP.
    There are a number of folks that have sought and have tried this (try a few Google searches for SMTP and non-standard port), and it mostly works. But it is fragile, and tends to be derailed when something goes weird, or when the ISP spots and shapes or blocks the server traffic.
    Also check your ISP's terms of service here, lest your network pipe be subject to summary disconnection.
    The other option is to VPN or tunnel into to a co-lo or dedicated server or a virtual hosting service; to run your servers or virtual servers somewhere without firewalls blocking the standard ports.

  • Problem with Applying Naming Standards to Keys and Constraints

    Hi
    I have an issue, and not sure where to go. I have 3 relational models in 1 design. I set up my foreign key template. I applied it to the first relational model, and it worked like a charm. When I bring up the "Apply Naming Standards" window for the second model and click on OK, nothing happens. The window just stays there and the OK button turns gray. I checked the log, but no messages are written. I just have to click on cancel to close the window. Has anyone got any suggestions on what to do? I even went back in and changed a table name to make sure that a foreign key name should change, and still nothing happens.

    Hi Joep,
    thanks for design. I logged bug for that problem - some FK columns keep information about non existent foreign keys.
    Here is a transformation script you can run for relational model:
    columns = model.getColumnSet().toArray();
    for (var t = 0; t<columns.length;t++){
    column = columns[t];
    nodes = column.getRefColAndAssocIDs().toArray();
    for (var i = 0;i<nodes.length;i++){
       node = nodes;
    if(node.fkAssocId!=null){
    fk = column.getDesign().getDesignObject(node.fkAssocId);
    if(fk==null){
    column.removeFKAssociation(node.fkAssocId);
    column.setDirty(true);
    And of course you have to save design - it's better to use "save as".
    Philip                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Foreign key constraint on multi-column primary key accepts 1 empty column!?

    Hi, we have a reference table with a two-column primary key. In the child table there is a non-mandatory foreign key constraint to this table. So if both child columns are null it's ok too. But now we see that if one of the two child table columns that build up the foreign key is null, the other column can have any (non-existant in the master-tabel) value you like!? That does not make sense.
    Can anyone explain this to me???
    Regards, Paul.

    Paul, I believe that this is in accordance to the ANSI SQL standard requirement for the treatment of nulls in a multi-column FK. In any case Oracle specifically states this is the way FK work From the 10 Concepts manual, Ch 21 Data Integrity, topic Nulls and Foreign Keys:
    The relational model permits the value of foreign keys either to match the referenced primary or unique key value, or be null. If any column of a composite foreign key is null, then the non-null portions of the key do not have to match any corresponding portion of a parent key. <<HTH -- Mark D Powell --

  • How to save a record with null foreign key?

    Dear all,
    Most articles show non-nullable foreign keys; but now I've got a problem with nullable foreign keys.
    With this simple example: an employee has zero or one manager.
    in manager object:
    @OneToMany(cascade={CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH}, mappedBy="manager")
    private Collection<Employee> employees;
    in employee object:
    @ManyToOne
    @JoinColumn(name="manager_id")
    private Manager manager;
    when updating an employee record, i may use a selectOneMenu to pass a manager id of "0", I expect toplink to save a null manager_id in the employee record; but i tries to create a new manager object of id="0" (i.e. insert a new manager record instead)
    the code i use to save an employee is like this:
    em.getTransaction().begin();
    em.merge(employee);
    em.getTransaction().commit();
    What's the correct way to save the employee record with a null manager_id column?
    Could someone help?
    Thanks a lot!
    AK

    But could you give me some pointers on how could I do
    that from the web UI level?Got it. You want to select "nothing" and then set the object reference to that. I can't help you on JSF but how do you lookup the selected object behind the scenes? If you use entityManager.(Employee.class, 0) then you should get back null if there is no Employee with id=0.
    --Shaun                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Non-standard keys

    Hi,
    How can I respond to input from non-standard keys, like the forward and back keys on some keyboards? I've tried using the KeyEventDemo, but it doesn't record any events. Any ideas?
    Thanks.

    Try this:
    KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(
            new KeyEventDispatcher() {
                public boolean dispatchKeyEvent(KeyEvent e) {
                    System.out.println(e.getKeyCode());
                    return false;
    });It will detect all keyevents and print the correpsonding keycode. If this code does not react when you press those arrow keys, then you cannot detect them using pure java.

  • Non-standard configuration macbook Pro in Apple Store

    After a few weeks I'll be in a tourist trip in Hong Kong. And I want to buy a macbook pro 13' non-standard configuration (i7 256gb 16gb RAM). All configurations are sold at the apple store? If not, can I have something to pre-book macbook and pick up on arrival? Or to apple brought him to the hotel?
    (через несколько недель я буду в туристической поездке в гонк конге. И я хочу купить macbook pro 13' нестандартной комплектации (i7 256gb 16gb RAM). Все ли configurations продаются в apple store? Если нет, то смогу ли я как нибудь заранее заказать macbook и забрать по приезду? Или чтобы apple доставили его в hotel?)

    I had to open my Macbook to change hard drives today. I used one of these guides. http://eshop.macsales.com/installvideos/
    While I had it open I thought of cleaning the dust. I used a dust blower and a vaccum but I could see the fan was still dirty. I deciced to remove it. It was just 3 screws, I didn't disconnect any wires, just moved it to the side. There I saw 1/4 inch thick dust on the grill that separates the fan from the external. Looked something like this
    Dust sticks on the grill like lint on a dryer and there is no way to remove it without removing the fan. Now that it's clean I can't hear the fan anymore unless I put my ear on the keyboard, plus it doesn't have to run all the time because when it runs it's much more effective.

  • Configuring IPIB with non-default partition key

    Hello
    I want to put IB HCA port into non-default partition to create separate network on my IB fabric. On IB switch (Voltaire ISR9096) I created network with non-default partition key 0x7ffe and add HCA port to this partition.
    But this IB-VPPA was displayed as unconfigured on Solaris host
    ib::3BA0001004181,ffff,ipib    IB-VPPA      connected    configured   ok
    ib::3BA0001004182,fffe,ipib    IB-VPPA      connected    unconfigured unknown
    ib::3BA0001004182,ffff,ipib    IB-VPPA      connected    configured   okConfiguration of new VPPA with cfgadm was unsuccessful:
    # cfgadm -c configure ib::3BA0001004182,fffe,ipib
    Configure the device: /devices/ib:fabric::3BA0001004182,fffe,ipib
    This operation will suspend activity on the IB device
    Continue (yes/no)? yes
    cfgadm: Hardware specific failure: configure operation failed ap_id: /devices/ib:fabric::3BA0001004182,fffe,ipibI unconfigured VPPA with default partition key (0xffff) on HCA port 0x3BA0001004182 and issued cfgadm for VPPA with pkey 0xfffe again - the same effect.
    I tried this on Solaris 10 8/07 and OpenSolaris b72 with the same result - no success ;)
    Is it possible to configure VPPA with non-default pkey on Solaris ?
    Is it possible to configure more than 1 IPIB VPPA on single HCA port ?
    How to perform these configurations ?
    Thanks in advance.
    Regards,
    Denis

    hi
    I was able to setup the listener to serve both databases using netmgr, thanks. Apparently I was trying to use the wrong tool for this previously.
    Now i'm able to access the EM Database Control and it seems to be working fine though i get the following error message
    Logged in As SYS
    Error
    java.lang.Exception: Number of responses does not match queries
    Database Instance: devel.foo.bar
    Now, i'd like to be able to use EM for administering two separate databases (running on the same host). Do i need to migrate the database control somehow to grid control? How do i do that?
    What about security? I'd like to use SSL and limit connections to selected clients only.
    regards,
    aspa

  • ABAP question: define a custom foreign key for a standard field??

    Hi,
    I want to use the field ADDR1_DATA-STR_SUPPL3 for customer use. I must to define a foreign key against a Ztable (as verification table) for this standard field. Also I must to define a custom search help.
    To defining a foreign key for this field, I must be in change mode, so the system ask to me for registering the object. That means this action is a modification. My question is the following: is there any way to do so without SAP standar modification??
    For instance, using BDT events...but how?
    Thanks in advance.
    Regards,
    Rosa

    Hi Rosa,
    Changing SAP Standard dictionary elements is not possible with out changing the same. To change these elements, we dont have any other method apart from SAP standard modification.
    Cheers
    Pavan

  • More Non-standard keys

    Hi
    I've noticed that many Windows programs responds to a "menu"-key located next to the right <ctrl>key. (When you press this key, a popup menu shows up as if you would have pressed the right mouse button).
    I would like to respond to this key in my program. A KeyEvent is produced in java and sent to the processKeyEvent method. The keycode is 0. And KeyEvent.getKeyText(e.getKeyCode()) returns "Unknown keyCode".
    This is unfortunately not the only key on my keyboard which is unknown to java. (Also the "Windows"-key next to the left <ctrl>key, and the Back- and forward keys mentioned in the "Non-standard keys" posting last month return keyCode 0) Is it possible somehow to tell which unknown key has been pressed? I've tried to find any difference in the KeyEvents when pressing different "unknown" keys, but the events seem to be equal.
    Does anyone know if java offers another way to tell which key has been pressed??

    Hi again
    Hmmm, that's an interesting thought. Aside from inserting a
    kabillion Click Box objects on the slide (one for each key allowed)
    there really isn't a way inside Captivate. Personally, I think it
    would make for a wonderful enhancement request.
    Click
    here to view the WishForm/Bug Reporting Form
    Aside from that, you might contract with fellow Adobe
    Community Expert Paul Dewhurst to create a small widget similar to
    what is found at the link below, but accepts any keypress as the
    trigger:
    Click
    here to visit Paul's site
    Paul's contact information is on his site.
    Cheers... Rick

  • $$$ Non-fatal error (1202): Foreign Key 'FCM_1_CO_OWNER(Owner_Id) reference

    Hi All,
    We are getting below fatal error while repairing the repository. and we are using MDM SP07 Patch Level 27.
    Error Message: $$$ Non-fatal error (1202): Foreign Key u2018FCM_1_CO_OWNER(Owner_Id) referencing A2i_CM_Users (UserId)u2019 is missing.
    Can  anyone help me how to resolve this issue ?
    Thanks & Regards,
    Mahesh

    Hello,
    I guess you have upgraded your system and hence you are getting this error.
    I guess some lookup table are missing the reference in this.
    But the error says NON-FATAL, please check if you are getting the same error while checking the repository.
    My suggestion would be to unmount and mount the reposiory again.
    regards,
    Abhishek

  • Listing foreign keys with non matching column definitions

    Dear All,
    I seen an entry in DBA weeky activities s that "Listing foreign keys with non matching column definitions" . What is meant by that?. How to pick up that?
    Shiju

    I seen an entry in DBA weeky activities s that
    "Listing foreign keys with non matching column
    definitions" . What is meant by that?. How to pick up
    that?Most probably find columns which are part of foreign keys, but their respective primary key column have different length (AFAIK data type cannot be different).
    Data dictionary can help you in that, I'll give you hints where to look at:
    user/all/dba_constraints - foreign and primary keys
    user/all/dba_cons_columns - columns which are part of constraints
    user/all/dba_tab_columns - column definitions of tables
    However creating query from these data dictionary views could be a nice task for you :)
    Gints Plivna
    http://www.gplivna.eu

  • How to insert a new record to table with foreign key

    I have 3 tables like this :
    CREATE TABLE PERSON (
    PK INTEGER NOT NULL,
    NAME VARCHAR(10),
    SSNUM INTEGER,
    MGR INTEGER);
    ALTER TABLE PERSON ADD CONSTRAINT PK_PERSON PRIMARY KEY (PK);
    ALTER TABLE PERSON ADD CONSTRAINT FK_PERSON FOREIGN KEY (MGR) REFERENCES
    PERSON (PK);
    /* Tables
    CREATE TABLE PROJECT (
    PK INTEGER NOT NULL,
    CODE_NAME INTEGER);
    ALTER TABLE PROJECT ADD CONSTRAINT PK_PROJECT PRIMARY KEY (PK);
    /* Tables
    CREATE TABLE XREF (
    PERSON INTEGER NOT NULL,
    PROJECT INTEGER NOT NULL);
    ALTER TABLE XREF ADD CONSTRAINT PK_XREF PRIMARY KEY (PERSON, PROJECT);
    ALTER TABLE XREF ADD CONSTRAINT FK_XREF1 FOREIGN KEY (PERSON) REFERENCES
    PERSON (PK);
    ALTER TABLE XREF ADD CONSTRAINT FK_XREF2 FOREIGN KEY (PROJECT) REFERENCES
    PROJECT (PK);
    I do like the way of "ReverseTutoral" and the file .jdo here :
    <?xml version="1.0" encoding="UTF-8"?>
    <jdo>
    <package name="reversetutorial">
    <class name="Person" objectid-class="PersonId">
    <extension vendor-name="kodo" key="class-column" value="none"/>
    <extension vendor-name="kodo" key="lock-column" value="none"/>
    <extension vendor-name="kodo" key="table" value="PERSON"/>
    <field name="name">
    <extension vendor-name="kodo" key="data-column"
    value="NAME"/>
    </field>
    <field name="person">
    <extension vendor-name="kodo" key="pk-data-column"
    value="MGR"/>
    </field>
    <field name="persons">
    <collection element-type="Person"/>
    <extension vendor-name="kodo" key="inverse"
    value="person"/>
    <extension vendor-name="kodo" key="inverse-owner"
    value="person"/>
    </field>
    <field name="pk" primary-key="true">
    <extension vendor-name="kodo" key="data-column"
    value="PK"/>
    </field>
    <field name="ssnum">
    <extension vendor-name="kodo" key="data-column"
    value="SSNUM"/>
    </field>
    <field name="xrefs">
    <collection element-type="Xref"/>
    <extension vendor-name="kodo" key="inverse"
    value="person"/>
    <extension vendor-name="kodo" key="inverse-owner"
    value="person"/>
    </field>
    </class>
    <class name="Project" objectid-class="ProjectId">
    <extension vendor-name="kodo" key="class-column" value="none"/>
    <extension vendor-name="kodo" key="lock-column" value="none"/>
    <extension vendor-name="kodo" key="table" value="PROJECT"/>
    <field name="codeName">
    <extension vendor-name="kodo" key="data-column"
    value="CODE_NAME"/>
    </field>
    <field name="pk" primary-key="true">
    <extension vendor-name="kodo" key="data-column"
    value="PK"/>
    </field>
    <field name="xrefs">
    <collection element-type="Xref"/>
    <extension vendor-name="kodo" key="inverse"
    value="project"/>
    <extension vendor-name="kodo" key="inverse-owner"
    value="project"/>
    </field>
    </class>
    <class name="Xref" objectid-class="XrefId">
    <extension vendor-name="kodo" key="class-column" value="none"/>
    <extension vendor-name="kodo" key="lock-column" value="none"/>
    <extension vendor-name="kodo" key="table" value="XREF"/>
    <field name="person">
    <extension vendor-name="kodo" key="pk-data-column"
    value="PERSON"/>
    </field>
    <field name="person2" primary-key="true">
    <extension vendor-name="kodo" key="data-column"
    value="PERSON"/>
    </field>
    <field name="project">
    <extension vendor-name="kodo" key="pk-data-column"
    value="PROJECT"/>
    </field>
    <field name="project2" primary-key="true">
    <extension vendor-name="kodo" key="data-column"
    value="PROJECT"/>
    </field>
    </class>
    </package>
    </jdo>
    Data of those tables are :
    PERSON :
    | PK | NAME | SSNUM | MGR |
    | 1 | ABC | 1 | 1 |
    | 2 | DEF | 5 | 1 |
    PROJECT
    | PK | CODE_NAME |
    | 1 | 12 |
    | 2 | 13 |
    And now I want to add a new record into table XREF : insert into XREF
    values (1,1);
    public void createData() {
    Xref xref = new Xref();
    Person person = new Person(1);
    Project project = new Project(1);
    xref.setPerson(person);
    xref.setProject(project);
    person.getXrefs().add(xref);
    person.getXrefs().add(xref);
    pm.currentTransaction().begin();
    pm.makePersistent(xref);
    pm.currentTransaction().commit();
    I don't know why Kodo automatically insert new record to table PERSON ->
    confilct Primary Key. The errors are :
    0 [main] INFO kodo.Runtime - Starting Kodo JDO version 2.4.1
    (kodojdo-2.4.1-20030126-1556) with capabilities: [Enterprise Edition
    Features, Standard Edition Features, Lite Edition Features, Evaluation
    License, Query Extensions, Datacache Plug-in, Statement Batching, Global
    Transactions, Developer Tools, Custom Database Dictionaries, Enterprise
    Databases, Custom ClassMappings, Custom ResultObjectProviders]
    41 [main] WARN kodo.Runtime - WARNING: Kodo JDO Evaluation expires in 29
    days. Please contact [email protected] for information on extending
    your evaluation period or purchasing a license.
    1627 [main] INFO kodo.MetaData -
    com.solarmetric.kodo.meta.JDOMetaDataParser@e28b9: parsing source:
    file:/D:/AN/Test/classes/reversetutorial/reversetutorial.jdo
    3092 [main] INFO jdbc.JDBC - [ C:23387093; T:19356985; D:10268916 ] open:
    jdbc:firebirdsql:localhost/3050:D:/An/test/temp.gdb (sysdba)
    3325 [main] INFO jdbc.JDBC - [ C:23387093; T:19356985; D:10268916 ]
    close:
    com.solarmetric.datasource.PoolConnection@164dbd5[[requests=0;size=0;max=70;hits=0;created=0;redundant=0;overflow=0;new=0;leaked=0;unavailable=0]]
    3335 [main] INFO jdbc.JDBC - [ C:23387093; T:19356985; D:10268916 ] close
    connection
    3648 [main] INFO jdbc.JDBC - Using dictionary class
    "com.solarmetric.kodo.impl.jdbc.schema.dict.InterbaseDictionary" to
    connect to "Firebird" (version "__WI-V6.2.972 Firebird 1.0.3)WI-V6.2.972
    Firebird 1.0.3/tcp (annm)/P10") with JDBC driver "firebirdsql jca/jdbc
    resource adapter" (version "0.1")
    4032 [main] INFO jdbc.JDBC - [ C:25657668; T:19356985; D:10268916 ] open:
    jdbc:firebirdsql:localhost/3050:D:/An/test/temp.gdb (sysdba)
    4143 [main] INFO jdbc.SQL - [ C:25657668; T:19356985; D:10268916 ]
    preparing statement <3098834>: INSERT INTO XREF(PERSON, PROJECT) VALUES
    4224 [main] INFO jdbc.SQL - [ C:25657668; T:19356985; D:10268916 ]
    executing statement <3098834>: [reused=1;params={(int)1,(int)1}]
    4244 [main] INFO jdbc.SQL - [ C:25657668; T:19356985; D:10268916 ]
    preparing statement <9090824>: INSERT INTO PERSON(MGR, NAME, PK, SSNUM)
    VALUES (?, ?, ?, ?)
    4315 [main] INFO jdbc.SQL - [ C:25657668; T:19356985; D:10268916 ]
    executing statement <9090824>: [reused=1;params={null,null,(int)1,(int)0}]
    4598 [main] WARN jdbc.JDBC - java.sql.SQLWarning: java.sql.SQLWarning:
    resultSetType or resultSetConcurrency changed
    4598 [main] WARN jdbc.JDBC - java.sql.SQLWarning: java.sql.SQLWarning:
    resultSetType or resultSetConcurrency changed
    4598 [main] INFO jdbc.JDBC - [ C:25657668; T:19356985; D:10268916 ] begin
    rollback
    4608 [main] INFO jdbc.JDBC - [ C:25657668; T:19356985; D:10268916 ] end
    rollback 10ms
    4628 [main] INFO jdbc.JDBC - [ C:25657668; T:19356985; D:10268916 ]
    close:
    com.solarmetric.datasource.PoolConnection@1878144[[requests=2;size=2;max=70;hits=0;created=2;redundant=0;overflow=0;new=2;leaked=0;unavailable=0]]
    4628 [main] INFO jdbc.JDBC - [ C:25657668; T:19356985; D:10268916 ] close
    connection
    javax.jdo.JDOFatalDataStoreException:
    com.solarmetric.kodo.impl.jdbc.sql.SQLExceptionWrapper:
    [SQL=INSERT INTO PERSON(MGR, NAME, PK, SSNUM) VALUES (null, null, 1, 0)]
    [PRE=INSERT INTO PERSON(MGR, NAME, PK, SSNUM) VALUES (?, ?, ?, ?)]
    GDS Exception. violation of PRIMARY or UNIQUE KEY constraint "PK_PERSON"
    on table "PERSON" [code=335544665;state=null]
    NestedThrowables:
    com.solarmetric.kodo.impl.jdbc.sql.SQLExceptionWrapper:
    [SQL=INSERT INTO PERSON(MGR, NAME, PK, SSNUM) VALUES (null, null, 1, 0)]
    [PRE=INSERT INTO PERSON(MGR, NAME, PK, SSNUM) VALUES (?, ?, ?, ?)]
    GDS Exception. violation of PRIMARY or UNIQUE KEY constraint "PK_PERSON"
    on table "PERSON"
    at
    com.solarmetric.kodo.impl.jdbc.runtime.SQLExceptions.throwFatal(SQLExceptions.java:17)
    at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.flush(JDBCStoreManager.java:416)
    at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.flush(PersistenceManagerImpl.java:575)
    at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.commit(PersistenceManagerImpl.java:438)
    at reversetutorial.Finder.createData(Finder.java:74)
    at reversetutorial.Finder.main(Finder.java:141)
    NestedThrowablesStackTrace:
    org.firebirdsql.jdbc.FBSQLException: GDS Exception. violation of PRIMARY
    or UNIQUE KEY constraint "PK_PERSON" on table "PERSON"
    at
    org.firebirdsql.jdbc.FBPreparedStatement.internalExecute(FBPreparedStatement.java:425)
    at
    org.firebirdsql.jdbc.FBPreparedStatement.executeUpdate(FBPreparedStatement.java:136)
    at
    com.solarmetric.datasource.PreparedStatementWrapper.executeUpdate(PreparedStatementWrapper.java:111)
    at
    com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executePreparedStatementNonBatch(SQLExecutionManagerImpl.java:542)
    at
    com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executePreparedStatement(SQLExecutionManagerImpl.java:511
    at
    com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executeInternal(SQLExecutionManagerImpl.java:405)
    at
    com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.flush(SQLExecutionManagerImpl.java:272
    at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.flush(JDBCStoreManager.java:411)
    at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.flush(PersistenceManagerImpl.java:575)
    at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.commit(PersistenceManagerImpl.java:438)
    at reversetutorial.Finder.createData(Finder.java:74)
    at reversetutorial.Finder.main(Finder.java:141)
    at org.firebirdsql.gds.GDSException: violation of PRIMARY or UNIQUE KEY
    constraint "PK_PERSON" on table "PERSON
    at org.firebirdsql.jgds.GDS_Impl.readStatusVector(GDS_Impl.java:1683)
    at org.firebirdsql.jgds.GDS_Impl.receiveResponse(GDS_Impl.java:1636)
    at org.firebirdsql.jgds.GDS_Impl.isc_dsql_execute2(GDS_Impl.java:865)
    at
    org.firebirdsql.jca.FBManagedConnection.executeStatement(FBManagedConnection.java:782)
    at
    org.firebirdsql.jdbc.FBConnection.executeStatement(FBConnection.java:1072)
    at
    org.firebirdsql.jdbc.FBPreparedStatement.internalExecute(FBPreparedStatement.java:420)
    at
    org.firebirdsql.jdbc.FBPreparedStatement.executeUpdate(FBPreparedStatement.java:136)
    at
    com.solarmetric.datasource.PreparedStatementWrapper.executeUpdate(PreparedStatementWrapper.java:111)
    at
    com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executePreparedStatementNonBatch(SQLExecutionManagerImpl.java:542)
    at
    com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executePreparedStatement(SQLExecutionManagerImpl.java:511)
    at
    com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executeInternal(SQLExecutionManagerImpl.java:405)
    at
    com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.flush(SQLExecutionManagerImpl.java:272)
    at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.flush(JDBCStoreManager.java:411)
    at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.flush(PersistenceManagerImpl.java:575)
    at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.commit(PersistenceManagerImpl.java:438)
    at reversetutorial.Finder.createData(Finder.java:74)
    at reversetutorial.Finder.main(Finder.java:141)
    Exception in thread "main"

    First off, use the '-primaryKeyOnJoin true' flag when running the reverse
    mapping tool so that you can get rid of that useless Xref class and have
    a direct relation between Person and Project. See the documentation on
    reverse mapping tool options here:
    http://www.solarmetric.com/Software/Documentation/latest/docs/ref_guide_pc_reverse.html
    But your real problem is that you are creating new objects, assigning
    primary key values, and expecting them to represent existing objects.
    That's not the way JDO works. If you want to set relations to existing
    objects in JDO, you use the PM to look up those objects. If you try to
    create new objects, JDO will assume you want to insert new records into
    the DB, and you'll get PK conflicts like you see here.
    There are several good books out on JDO; if you're just starting out with
    it, they might save you a lot of time and help you master JDO quickly.

  • Using non-standard sshd port after 10.8 upgrade

    After spending hours tracking down this solution as a result of losing my ssh settings after the upgrade to Mountain Lion, I thought it might be useful to post the steps taken to restore the configuration I used with Snow Leopard.
    Changing the sshd default listening port
    Disclaimer: This tutorial is specific to Mountain Lion (OS X 10.8). I was able to accomplish this using Snow Leopard (OS X 10.6) in fewer steps, but upgrading required this more involved solution. 
    Steps:
    1.) You must first enable the root user account in order to change the relevant files. This can be done from the terminal, or by going to System Preferences --> Users & Groups. Once there, click on 'Login Options' at the bottom of the Current User list, and 'Join' where it says 'Network Account Server'.
    This will bring up a smaller window. Click on 'Open Directory Utility' at the bottom. You will be prompted for your admin password. Now go to the 'Edit' tab at the top of the screen and toggle down to 'Enable Root User'.  You will be prompted to enter your admin password twice.
    2.) Log out of your regular user account. At the log in screen you will now see an additional entry for 'other'. Click on that and log in with the username 'root' and your admin password. If are inexperienced as a root-level user, be careful as you can cause problems to your system can be difficult to undo.
    Once in your root account, the first step is to create a new 'service definition' in the etc/services file. Open the file with text editor of choice and scroll to the current entry for sshd listening port, which will look like this:
    ssh    22/udp    # SSH Remote Login Protocol
    ssh    22/tcp     # SSH Remote Login Protocol
    Overwrite the '22' with the port number you would like sshd to listen on:
    ssh    12345/udp   # SSH Remote Login Protocol
    ssh    12345/tcp    # SSH Remote Login Protocol
    *12345 being our hypothetical, non-standard port.
    It is important to note that the new port number will not take by simply adding a new uncommented line to the file (I tried), unless of course you comment the original ssh entries. Easiest way is just to overwrite what is there already. Save changes.
    3.) You now need to edit the ssh.plist file, which is located at /System/Library/LaunchDaemons/ssh.plist. A word to those familiar with Linux/BSD environments: changing the default port in the sshd_config file, which exists in OS X, does NOT change the listening port. Simply changing the default port, saving the config file, and restarting the server (the sensible way) won't work. The OS X sshd server (openssh) is configured to get launch instructions from the ssh.plist file, as opposed to sshd_config. If you are more interested in this aspect of OS X, read up on LaunchDaemons (e.g. launchd).
    Before altering the ssh.plist file, you should save a backup copy in case of mistakes, or if you need to revert back to it in the future. Name your backup file something like original.ssh.plist, etc.
    In the ssh.plist file, locate the SocksServiceName entry and change it from the default:
    <key>SockServiceName</key>
    <string>ssh</string>
    To the following:
    <key>SockServiceName</key>
    <string>$alternate port number</string>
    In our example from above this value would be 12345.
    4.) Save your changes, and exit ssh.plist. You now need to move the backup file you created (original.ssh.plist) out of the System/Library/LaunchDaemons path.
    The updated sshd port will not take until you have only one ssh.plist file in the LaunchDaemons directory - this has to do with how launchd is configured to load files which is outside the scope of the current discussion.  (*If you've found a way around this, please share.) 
    5.) Restart the sshd server. Easiest way to accomplish this is going to System Preferences --> Sharing and clicking off 'Remote Login', then clicking back on it. 
    6.) Test the configuration by logging into the machine running the sshd server from another host using:
    ssh username@ipaddress -p 12345
    There are a few good tutorials out there that capture some of these steps, but many are dated and/or incomplete. If you are running a standard setup of OS X 10.8, this should work for you.
    Of course, don't be fooled into thinking that changing the default listening port from the ubiquitously-probed 22 equates to actual security. At best, it will cut down on the number of dubious connection attempts and probing.

    Hi all, above helped me change the sshd port number, thank you very much.
    Just upgraded to OS X 10.9.3 on my macbook pro.
    My findings were:
    Step 1(become a root user or sudo)
    Step 2 (/etc/services)
    This may not be required unless you want ssh to work without the "-p XXXX" option to connect to other ssh hosts.  I favor such as "ssh -p 2222 user@hostname" just to be sure I know what I am doing and also to leave ssh known port as its default "22".
    Step 3 (/System/Library/LaunchDaemons/ssh.plist)
    This is required if you want to change the sshd port number, I changed both "ssh" to "2222" in this file.
    Step 4 (launchctl)
    Below is a must as I understood:
    launchctl unload /System/Library/LaunchDaemons/ssh.plist
    launchctl load /System/Library/LaunchDaemons/ssh.plist
    it should be already working with the new port number.
    You can "ssh -p 2222 user@localhost" in the console terminal and see if its working.
    Since I am no expert on MacOS X, and it is a macbook pro that I am using, I also rebooted the system and changes were reflected permanantly.
    Thank you guys!

Maybe you are looking for

  • How to do it in ALV OOPS

    Hi Im using ALV OOPS.o/p I have 10 records with checkbox(at user command I have to select record selected by check box). Now on the menu bar I hav a button for "SELECT ALL". If "selected all" 10 recored will be selected. If I filter upon some criteri

  • Project 2013 freezes in Team planner view

    Hi, While right clicking and changing assignments in a Project file the Team planner freezes and Project must be restarted, this happens all the time and too frequent. The first thing that happens is that the large info box which is shown on right cl

  • Moving music from one computer to a new computer

    I printed out the directions from the web site and followed the 13 pages exactly and successfully transferred my music library to the ipod, then from the ipod to the new library. None of my music that was purchased from iTunes will copy from the libr

  • When I send a mail with a picture I get from 4 to 17 in return to my trash can.

    What ca I do to avoid having from 4 to 17 copies of one mail sent with a photo added, returning to my trash basket in addition to one filed as a draft?

  • Windows server 2008 R2 and NFS mounted subdirectories.

    I am mounting from a Windows Server 2008 R2 Box to a RHEL 6.3 machine and I am able see the folders; however, I am unable to see the sub-folders via the mapped NFS mount in windows. Any ideas as to why? Some additional facts are below. 1. We are usin