DB2 primary key?

Hi all,

Recently i’ve downloaded a copy of DB2 express C. I have no problems connecting it to Servoy. Problem is when Servoy load the form,it prompt out this error message “No Primary Key for …”. But when i checked back the database the table contains Primary Key.

So where is the problem? Btw i’m using this driver “COM.ibm.db2.jdbc.net.DB2Driver” provided by IBM.

Please help,because i’m really new (4 days) in using Servoy IDE.
Thank you. :)

Hi Vincent, can’t give you an answer from experience with DB2.
But, from my experience with Servoy I would say that it is an issue of the driver. Are you are using the latest stable version of the driver?
When you look in your dataprovider editor do you see the pk checked for the correct (or any) dataprovider?

No i don’t see any pk(s) in the data provider, is there any other solutions?
This driver is provided with the database so i can safely assume it’s stable.
Is there any 3rd parties JDBC driver i can use?

Don’t know about any (other) drivers but your assumption is not really save. I would search for a newer release to be sure.

Question to Servoy guy, do you have any plan to counter this “simple” problem?? Instead of saying JDBC driver problem, maybe you guy can think of other solution??

Vincent, I am not a ‘Servoy guy’ so the remark about the driver is 100% on my account and not Servoy.

Are you very sure there are primary keys on the table? I havn’t heard before that db2 keys are not recognized. How does your create table statement look like? What happens if you create the table from within Servoy? Also: if you’re not a db2 experienced user I’d recommend sticking with iAnywhere which ships with Servoy unless you need specific functions in db2 that are not avail in iAnywhere.

Oops Marcel,this question is to Servoy guy…not you. I did a search on this subject,actually this problem have been raised by the other users but the answer is the almost same…JDBC driver problem

Hi Vincent, Have you tried to manually specify the “row ident” in “Define data providers” inside Servoy?

Hi Jan,

I’m using DB2 Express C. Have a look on the attachment…So i create a table named Sales1 with four column and column “ID” have primary key attached to it.

Hi,

Beside adding the JDBC driver “dbjcc.jar” i also need to add this file “db2jcc_license_cu.jar” into Servoy drivers folder.Then u can see the PK :) inside the Data Provider.

But i still have this error msg popup when Servoy load form:

com.ibm.db2.jcc.a.SqlException: DB2 SQL error: SQLCODE: -204, SQLSTATE: 42704, SQLERRMC: DB2ADMIN.SALES DB2 SQL error: SQLCODE: -204, SQLSTATE: 42704, SQLERRMC: DB2ADMIN.SALES

Any ideas?

Make sure you specify the schema. I connect succesfully to a clean install of UDB with the settings in the screenshot attached.