Jump to content
Claris Engage 2025 - March 25-26 Austin Texas ×

[SequeLink JDBC Driver] [FileMaker] Out of memory.


This topic is 7290 days old. Please don't post here. Open a new topic instead.

Recommended Posts

Posted

I'm happy to say that I was able to reproduce the problem and found a workaround. Please use this test case for problem reproduction and workaround in version 7.

Problem: Memory locking by jdbc driver when inserting records. Your program can generate the following exception and crash when inserting 100 or more records:

java.sql.SQLException: [DataDirect][sequeLink JDBC Driver][ODBC Socket][DataDirect][ODBC FileMaker driver][FileMaker]Out of memory.

Workaround: Prior to an insert statement (e.g INSERT INTO Database), append text to a text field, in this case JTextArea. This is a strange workaround. I'm not quite sure why inserting text to a text field releases memory and stabilizes the application, but it works.

The workaround requires the setText, text component , method invocation before every table update execution.

textWorkAround.setText(textWorkAround.getText()+"n" + i);

dbHelper.executeUpdate(sql.toString());

Instructions in how to run test case to reproduce the problem and use

workaround

----------------------------------------------------------

Important::

========

1. You must have jave jvm 1.4 or higher on your machine

2. Saved the attached test case to your directory and unzip

4. Open <Local Directory>bugcase2488886

How to run test case as an applet

=================================

1. type from command prompt <Local Directory>RunAsApplet or with web browser open <Local Directory>bugcase2488886TestCase.html

How to run test case as an application

======================================

1. type from command prompt <Local Directory>bugcase2488886RunAsApplication

How to use test case

====================

1. In top table, select a row to clone from

2. In the rows to insert field you may insert the number of records to insert

3. Hit the refresh button, and notice the bottom table reflect your request.

4. Hit the save button to begin record insertion

5. Notice the out of memory exception when running the program without workaround.

To recompile Changes

====================

1. Make sure Java JRE 1.4 is on your system

2. Open a dos shell and type <Local Directory>bugcase2488886make to compile your changes

* To Reproduce the out of memory exception check the normal radio box

bugcase2488886.zip

Posted

Problem: Memory locking by jdbc driver when inserting records. Your program can generate the following exception and crash when inserting 100 or more records:

java.sql.SQLException: [DataDirect][sequeLink JDBC Driver][ODBC Socket][DataDirect][ODBC FileMaker driver][FileMaker]Out of memory.

Workaround: Prior to an insert statement (e.g INSERT INTO Database), append text to a text field, in this case JTextArea. This is a strange workaround. I'm not quite sure why inserting text to a text field releases memory and stabilizes the application, but it works.

The workaround requires the setText, text component , method invocation before every table update execution.

textWorkAround.setText(textWorkAround.getText()+"n" + i);

dbHelper.executeUpdate(sql.toString());

Posted

Solution:

PreparedStatement

ResultSet

Be responsible, make sure your statements and result sets are properly closed. Failure to release resource will result in a memory leak. The SequeLink driver is working just fine.

This topic is 7290 days old. Please don't post here. Open a new topic instead.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.