error in import sdf file

User afeef30056

17-05-2007 10:44:07

i have been receiving a lot of this error message during an import operation using oracle connection:

ERROR 123881 Failed to import row 123881 Molecule registration; uncategorized SQLException for SQL []; SQL state [null]; error code [0]; Empty structure; nested exception is java.sql.SQLException: Empty structure

all the error messages change only for the row number... and in the table the mentioned rows are not inserted

the sdf file has been created by our own procedure which collect information about structure , physical-chemical properties and comments...

Instant JChem 1.0 for linux running on FC6

ChemAxon fa971619eb

17-05-2007 11:02:06

This is possibly caused by your file containing empty structures?

By default a structure table does not allow empty structures. To allow them change the options for the table when you create it (click on the ... button next to the table details in the import wizard step where you specify the file and check the 'Empty strucutre allowed checkbox).

I hope this helps solve the problem.


User afeef30056

18-05-2007 06:29:23


i re-tried checking the box you told me and now i got this error message:

Inserting a query or Markush structure is not allowed for table: "IJC.structuretable"; uncategorized SQLException for SQL []; SQL state [null]; error code [0]; Inserting a query or Markush structure is not allowed for table: "IJC.structuretable"; nested exception is java.sql.SQLException: Inserting a query or Markush structure is not allowed for table: "IJC.structuretable"

Error: An error occurred reading the data

Invalid atom indices in bond definition (0, 0)

Any idea?

ChemAxon fa971619eb

18-05-2007 06:59:07

OK, that's another table definition problem. The default table type for jchem strucutre tables is 'Molecules', which provides the most specific searching heuristics for 'normal' molecules ('nomal' meaning simple molecules not conaining any query atoms, and not reactions). We also provide the 'Any Structures' table type which will accept any type of structure (including reactions and query strucutures), and a 'Reactions' table if your strucutres contain ONLY relactions.

In you case you need to set the table type to 'Any Structures' and you data should import OK. You do this is the same dialog as you used for the 'Allow empty structures' setting.

Usually setting these options is transparant to the user, as IJC tries to determine the correct settings. IJC tries to make a best guess at the table type (looking for empty strucutres, query structures and reactions in the records that it reads when looking for the field names). If it comes across empty structures, query structures or reactions it adjusts the settings to be compatible. By default IJC does not pre-read the complete file for performance reasons as usually the contents can be determined by reading the first 100 records (the actual number read is a little smarter - it keeps reading until it does not find any changes for so long).

But there are circumstances where this auto-determination will be incorrect - consider a file with a million strucutres and only the last one is a query strucutre!

You basically have 2 possible ways to solve this.

1. Change the settings manually based on what you know.

2. Pre-read the complete file by setting the number of records to read to zero and pressing the 'Read more' button.


User afeef30056

18-05-2007 08:28:25

Again an error message after 344,836 rows imported:

Error: An error occurred reading the data

Invalid atom indices in bond definition (0, 0)

ChemAxon fa971619eb

18-05-2007 10:50:54

This looks to be a problem with reading a particular strucutre.

This is usually caused by an invalid structure, but could potentailly be a bug in Marvin.

Could you locate the suspect structure and send it to us so that we can investigate?


User afeef30056

21-05-2007 07:46:10

Hi Tim,

it was my fault, there was a bad written structure in the sdf file, and after having repaired it all worked fine. Now I am facing a new issue. i have been receiving an out of memory error while opening a huge table. In the help i find how to increase memory settings, but in the startup settings there is a red sentence telling:

Could not find config file. Settings disabled

and i cannot change the default value.

Can yuo please help me?



ChemAxon fa971619eb

21-05-2007 08:53:26

Hi, not entirely sure what's wrong here.

Could you confirm which platform you are running on (for now I assume Windows), and whether IJC was installed in some way other than "normal".

For now try this:

1. Look for this file:

C:\Program Files\ChemAxon\InstantJChem-2.0.0\etc\instantjchem.conf

2. Open it in a text editor and look for the line that looks like this:

default_options="-J-Xms48m -J-Xmx128m -J-Dderby.system.home=${default_userdir}/derby -J-Dnetbeans.logger.console=true -J-ea"

3. Edit this line changing -J-Xmx128m to -J-Xmx512m (or whatever you need - the number is the number of MB memory to allocate) and save the file.

4. Restart IJC.

5. Tell us if the instantjchem.conf file is not found at the location I mentioned.



User afeef30056

21-05-2007 09:04:01

The platform i am using is a Fedora core 6.

i changed the config file as you have said and now i can open the mentioned table. It remains i can not change the setting from tools->option->startup settings.

Under windows the same instantjchem version doesn't have such issue.



ChemAxon fa971619eb

21-05-2007 10:06:07

OK, I'm still not sure why the instantjchem.conf file is not being found. I just tested this with Fedora Core 5 and had no problems.

But if you edited the file manually the new settings would now be enabled, as indicated by it fixing your import problem with the large file.

A couple of things maybe to check:

1. Is the instantjchem.conf located where it was expected to be? e.g.


2. Does the user you are running IJC as have read and write access to that file?


User afeef30056

25-05-2007 07:26:19

I edited manually the config file and the new settings have been setted. But still from application I cannot edit the memory settings and the user running IJC has read/write acces to such file

ChemAxon fa971619eb

25-05-2007 07:38:47

Could you tell me the path of the instantjchem.conf file.

It appears that IJC can't find it, so there must be something peculiar about where it is located or something like the case sensitivility of the path or filename.


User afeef30056

25-05-2007 07:42:58

Hi Tim

Hereafter the file location:

-rw-rw-rw- 1 root root 793 May 21 10:56 /opt/ChemAxon/InstantJChem-2.0.0/etc/instantjchem.conf