Jump to content
View in the app

A better way to browse. Learn more.

FMForums.com

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

I'm certain I've hit a limitation of the jdbc driver that comes with FileMaker 8 (SegueLink 5.4), but I'm wondering what limitation exactly I'm hitting.

I've gotten pretty far, and here is what I'm currently doing:

I'm running FileMaker 8 Server Advanced 8.0v2 with the jdbc driver installed and configured successfully.

I've downloaded WebLogic 9.1 and configured a Data Source successfully to connect to the FileMaker 8 Server.

Once this hurtle was crossed, I made a simple JSP page to pull some data from a sample database and simply display it. This test was quite crude, but established the fact that I had a working connection.

Now, I'm not a java/jsp/weblogic expert by any stretch. I downloaded Sun's Creator 2 IDE and started going through the tutorials. This IDE generated some complicated framework using JSF. I did get a lot of the tutorial examples working with my setup. Then I hit a wall.

In this tutorial (Here) 3/4 down, there is the save_action() implementation. After implementing it and attempting to test it (part 3). I got an error: java.sql.SQLException: [DataDirect][sequeLink JDBC Driver][ODBC Socket][DataDirect][ODBC FileMaker driver][FileMaker]Expression is not implemented

I'm just wondering if anyone can take a look at the full stack trace below and determine what this code is asking the Segue driver to do that it can't.

Here is the full stack trace:

java.lang.RuntimeException: java.sql.SQLException: [DataDirect][sequeLink JDBC Driver][ODBC Socket][DataDirect][ODBC FileMaker driver][FileMaker]Expression is not implemented

at com.sun.data.provider.impl.CachedRowSetDataProvider.setCursorRow(CachedRowSetDataProvider.java:343)

at com.sun.data.provider.impl.CachedRowSetDataProvider.setCursorIndex(CachedRowSetDataProvider.java:300)

at com.sun.data.provider.impl.CachedRowSetDataProvider.getRowKeys(CachedRowSetDataProvider.java:245)

at com.sun.data.provider.impl.CachedRowSetDataProvider.cursorFirst(CachedRowSetDataProvider.java:351)

at fm8jdbccrud.Page1.save_action(Page1.java:488)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:585)

at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:126)

at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:72)

at com.sun.rave.web.ui.appbase.faces.ActionListenerImpl.processAction(ActionListenerImpl.java:57)

at javax.faces.component.UICommand.broadcast(UICommand.java:312)

at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:267)

at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:381)

at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:75)

at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:221)

at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)

at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)

at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:225)

at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:127)

at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:272)

at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)

at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)

at com.sun.rave.web.ui.util.UploadFilter.doFilter(UploadFilter.java:194)

at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)

at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3151)

at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)

at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)

at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:1973)

at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1880)

at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1310)

at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)

at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)

java.sql.SQLException: [DataDirect][sequeLink JDBC Driver][ODBC Socket][DataDirect][ODBC FileMaker driver][FileMaker]Expression is not implemented

at com.ddtek.sequelink.ssp.Diagnostic.toSQLException(Unknown Source)

at com.ddtek.sequelink.ssp.Chain.cnvDiagnostics(Unknown Source)

at com.ddtek.sequelink.ssp.Chain.decodeDiagnostic(Unknown Source)

at com.ddtek.sequelink.ssp.Chain.decodeBody(Unknown Source)

at com.ddtek.sequelink.ssp.Chain.decode(Unknown Source)

at com.ddtek.sequelink.ssp.Chain.send(Unknown Source)

at com.ddtek.sequelink.ctxt.stmt.StatementContext.associate(Unknown Source)

at com.ddtek.jdbc.sequelink.SequeLinkImplStatement.prepare(Unknown Source)

at com.ddtek.jdbc.slbase.BaseImplStatement.prepare(Unknown Source)

at com.ddtek.jdbc.slbase.BasePreparedStatement.prepareSQL(Unknown Source)

at com.ddtek.jdbc.slbase.BaseStatement.preProcessSQL(Unknown Source)

at com.ddtek.jdbc.slbase.BasePreparedStatement.(Unknown Source)

at com.ddtek.jdbc.slbase.BaseConnection.prepareStatement(Unknown Source)

at com.ddtek.jdbc.slbase.BaseConnection.prepareStatement(Unknown Source)

at weblogic.jdbc.common.internal.ConnectionEnv.makeStatement(ConnectionEnv.java:1213)

at weblogic.jdbc.common.internal.ConnectionEnv.getCachedStatement(ConnectionEnv.java:993)

at weblogic.jdbc.common.internal.ConnectionEnv.getCachedStatement(ConnectionEnv.java:927)

at weblogic.jdbc.wrapper.Connection.prepareStatement(Connection.java:500)

at com.sun.sql.rowset.internal.CachedRowSetXReader.readData(CachedRowSetXReader.java:140)

at com.sun.sql.rowset.CachedRowSetXImpl.execute(CachedRowSetXImpl.java:950)

at com.sun.sql.rowset.CachedRowSetXImpl.execute(CachedRowSetXImpl.java:1410)

at com.sun.data.provider.impl.CachedRowSetDataProvider.checkExecute(CachedRowSetDataProvider.java:1219)

at com.sun.data.provider.impl.CachedRowSetDataProvider.setCursorRow(CachedRowSetDataProvider.java:329)

at com.sun.data.provider.impl.CachedRowSetDataProvider.setCursorIndex(CachedRowSetDataProvider.java:300)

at com.sun.data.provider.impl.CachedRowSetDataProvider.getRowKeys(CachedRowSetDataProvider.java:245)

at com.sun.data.provider.impl.CachedRowSetDataProvider.cursorFirst(CachedRowSetDataProvider.java:351)

at fm8jdbccrud.Page1.save_action(Page1.java:488)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:585)

at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:126)

at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:72)

at com.sun.rave.web.ui.appbase.faces.ActionListenerImpl.processAction(ActionListenerImpl.java:57)

at javax.faces.component.UICommand.broadcast(UICommand.java:312)

at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:267)

at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:381)

at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:75)

at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:221)

at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)

at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)

at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:225)

at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:127)

at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:272)

at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)

at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)

at com.sun.rave.web.ui.util.UploadFilter.doFilter(UploadFilter.java:194)

at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)

at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3151)

at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)

at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)

at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:1973)

at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1880)

at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1310)

at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)

at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)

And here is the code page1.java

public String save_action() {

try {

// Get the next key, using result of query on MaxTrip data provider

CachedRowSetDataProvider maxTrip = getSessionBean1().getMaxTripDataProvider();

maxTrip.refresh();

[color:red]maxTrip.cursorFirst(); // <------Line 488 where error occurred.

int newTripId = ((Long) maxTrip.getValue("MAXTRIPID")).intValue();

// Navigate through rows with data provider

if (tripDataProvider.getRowCount() > 0) {

tripDataProvider.cursorFirst();

do {

if (tripDataProvider.getValue("TripID").equals(new Integer(0))) {

tripDataProvider.setValue("TripID", new Integer(newTripId));

newTripId++;

}

} while (tripDataProvider.cursorNext());

};

tripDataProvider.commitChanges();

} catch (Exception ex) {

log("Error Description", ex);

error("Error :"+ex.getMessage());

}

return null;

}

Here is the metadata that lists the SegueLink drivers capabilities:

Connection Established

getMetaData() Succeeded.

All Procedures Are Callable: false

All Tables Are Selectable: true

Data Definition Causes Transaction Commit: false

Does Max Row Size Include Blobs: false

Catalog Separator:

Catalog Term:

// JDBC 3.0

Database Major Version: 7

// JDBC 3.0

Database Minor Version: 0

Database Product Name: FileMaker

Database Product Version: 07.00.0000 Filemaker

Default Transaction Isolation: 2

Driver Major Version: 5

Driver Minor Version: 4

Driver Name: SequeLink

Driver Version: 5.4.0034

Extra Name Characters: ~@#$%^&*_-+=}{;:?/><,.![]

Identifier Quote String: "

Max Binary Literal Length: 0

Max Catalog Name Length: 0

Max Char Literal Length: 0

Max Column Name Length: 100

Max Columns In Group By: 0

Max Columns In Index: 0

Max Columns In Order By: 0

Max Columns In Select: 0

Max Columns In Table: 1024

Max Connections: 0

Max Cursor Name Length: 18

Max Index Length: 100

Max Procedure Name Length: 0

Max Row Size: 200000

Max Schema Name Length: 0

Max Statement Length: 0

Max Statements: 0

Max Table Name Length: 100

Max Tables In Select: 31

Max User Name Length: 0

Numeric Functions: FLOOR,MOD,POWER,ROUND

Procedure Term:

// JDBC 3.0

ResultSet Holdability: 2

SQL Keywords:

// JDBC 3.0

SQL State Type: 1

Schema Term:

Search String Escape: ~

String Functions: CHAR,CONCAT,LCASE,LEFT,LENGTH,LTRIM,RIGHT,RTRIM,SPACE,SUBSTRING,UCASE

System Functions: IFNULL,USERNAME

Time Date Functions: CURDATE,DAYOFMONTH,DAYOFWEEK,MONTH,YEAR

URL: jdbc:datadirect:sequelink://MIFHFMTEST01:2399;MAXPOOLEDSTATEMENTS=0;NETWORKPROTOCOL=socket;LOGINTIMEOUT=0;INSENSITIVERESULTSETBUFFERSIZE=2048

User Name: Admin

Catalog At Start: false

Read Only: false

// JDBC 3.0

Locators Update Copy: true

Null + Non Null Is Null: false

Nulls Are Sorted At End: false

Nulls Are Sorted At Start: true

Nulls Are Sorted High: false

Nulls Are Sorted Low: false

Stores Lower Case Identifiers: false

Stores Lower Case Quoted Identifiers: false

Stores Mixed Case Identifiers: false

Stores Mixed Case Quoted Identifiers: false

Stores Upper Case Identifiers: true

Stores Upper Case Quoted Identifiers: false

Supports ANSI92 Entry Level SQL: true

Supports ANSI92 Full SQL: false

Supports ANSI92 Intermediate SQL: false

Supports Alter Table With Add Column: true

Supports Alter Table With Drop Column: true

Supports Catalogs In Data Manipulation: false

Supports Catalogs In Index Definitions: false

Supports Catalogs In Privilege Definitions: false

Supports Catalogs In Procedure Calls: false

Supports Catalogs In Table Definitions: false

Supports Column Aliasing: true

Supports Convert: false

Supports Core SQL Grammar: false

Supports Correlated Subqueries true

Supports Data Definition & Manipulation: false

Supports Data Manipulation Only: true

Supports Different Table Correlation Names: false

Supports Expressions In Order By: true

Supports Extended SQL Grammar: false

Supports Full Outer Joins: false

// JDBC 3.0

Supports Get Generated Keys: false

Supports Group By: true

Supports Group By Beyond Select: true

Supports Group By Unrelated: false

Supports Integrity Enhancement: false

Supports Like Escape Clause: false

Supports Limited Outer Joins: true

Supports Minimum SQL Grammar: true

Supports Mixed Case Identifiers: false

Supports Mixed Case Quoted Identifiers: true

// JDBC 3.0

Supports Multiple Open Results: true

Supports Multiple Result Sets: false

Supports Multiple Transactions: false

// JDBC 3.0

Supports Named Parameters: false

Supports Non-Nullable Columns: true

Supports Open Cursors Across Commit: false

Supports Open Cursors Across Rollback: false

Supports Open Statements Across Commit: false

Supports Open Statements Across Rollback: false

Supports Order By Unrelated: true

Supports Outer Joins: true

Supports Positioned Delete: false

Supports Positioned Update: false

// JDBC 3.0

Supports ResultSetHoldability Hold Cursors Over Commit: false

// JDBC 3.0

Supports ResultSetHoldability Close Cursors At Commit: true

// JDBC 3.0

Supports Savepoints: false

Supports Schemas In Data Manipulation: false

Supports Schemas In Index Definitions: false

Supports Schemas In Priviledge Definitions: false

Supports Schemas In Procedure Calls: false

Supports Schemas In Table Definitions: false

Supports Select For Update: false

Supports Stored Procedures: false

Supports Subqueries In Comparisons: true

Supports Subqueries In Exists: true

Supports Subqueries In Ins: true

Supports Subqueries In Quantifieds: true

Supports Table Correlation Names: true

Supports Transactions: true

Supports Union: true

Supports Union All: true

Uses Local File Per Table: false

Uses Local Files: false

// JDBC 2.0

Supports Batch Updates: true

  • 2 weeks later...

Though I'm not sure what you are trying to achieve, Creator 2 wouldn't be what you want.

Here's the list of DB servers and JDBC drivers supported by Creator 2 (in case you have not checked yet).

http://developers.sun.com/prodtech/javatools/jscreator/reference/docs/2/Installation_ReleaseNotes.html#databaseservers

I guess it's 'scrollable result sets' which caused the error but it may be just one of the other unimplemented functions Creator 2 will require.

Hope this helps.

Create an account or sign in to comment

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.