Subject Borland DataExpress and Latest Build of JayBird - Problem
Author Rashid Motala
Hello Everybody,

We seem to have picked up a problem using Borland DataExpress components and
the latest build of the JayBird driver (RC3). This code used to work in RC2.
Testing with Firebird 1.0 on WinXP and Win2K. This has broken almost every
module we have.

The error is:

See com.borland.dx.dataset.DataSetException error code: BASE+62
com.borland.dx.dataset.DataSetException: Execution of query failed.
at com.borland.dx.dataset.DataSetException.a(Unknown Source)
at com.borland.dx.dataset.DataSetException.queryFailed(Unknown Source)
at com.borland.dx.sql.dataset.QueryProvider.a(Unknown Source)
at com.borland.dx.sql.dataset.JdbcProvider.provideData(Unknown Source)
at com.borland.dx.dataset.StorageDataSet.a(Unknown Source)
at com.borland.dx.dataset.DataSet.a(Unknown Source)
at com.borland.dx.dataset.DataSet.open(Unknown Source)
at net.impro.impronet.engine.site.Site.setSiteDetailsFromDB(Site.java:739)
at net.impro.impronet.engine.site.Site.Startup(Site.java:117)
at
net.impro.impronet.engine.site.SiteManager.activateSite(SiteManager.java:114
)
at
net.impro.impronet.engine.site.SiteManager.activateLocalSite(SiteManager.jav
a:246)
at net.impro.impronet.engine.site.SiteManager.Startup(SiteManager.java:90)
at
net.impro.impronet.engine.EngineManager.executeCommand(EngineManager.java:61
1)
at net.impro.impronet.engine.EngineManager.run(EngineManager.java:257)
at java.lang.Thread.run(Thread.java:536)
Chained exception:
org.firebirdsql.jdbc.FBSQLException: GDS Exception. operation was cancelled
at
org.firebirdsql.jdbc.FBPreparedStatement.internalExecute(FBPreparedStatement
.java:425)
at
org.firebirdsql.jdbc.FBPreparedStatement.executeQuery(FBPreparedStatement.ja
va:101)
at com.borland.dx.sql.dataset.o.f(Unknown Source)
at com.borland.dx.sql.dataset.QueryProvider.e(Unknown Source)
at com.borland.dx.sql.dataset.JdbcProvider.provideData(Unknown Source)
at com.borland.dx.dataset.StorageDataSet.a(Unknown Source)
at com.borland.dx.dataset.DataSet.a(Unknown Source)
at com.borland.dx.dataset.DataSet.open(Unknown Source)
at net.impro.impronet.engine.site.Site.setSiteDetailsFromDB(Site.java:739)
at net.impro.impronet.engine.site.Site.Startup(Site.java:117)
at
net.impro.impronet.engine.site.SiteManager.activateSite(SiteManager.java:114
)
at
net.impro.impronet.engine.site.SiteManager.activateLocalSite(SiteManager.jav
a:246)
at net.impro.impronet.engine.site.SiteManager.Startup(SiteManager.java:90)
at
net.impro.impronet.engine.EngineManager.executeCommand(EngineManager.java:61
1)
at net.impro.impronet.engine.EngineManager.run(EngineManager.java:257)
at java.lang.Thread.run(Thread.java:536)
at org.firebirdsql.gds.GDSException: operation was cancelled
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.executeQuery(FBPreparedStatement.ja
va:101)
at com.borland.dx.sql.dataset.o.f(Unknown Source)
at com.borland.dx.sql.dataset.QueryProvider.e(Unknown Source)
at com.borland.dx.sql.dataset.JdbcProvider.provideData(Unknown Source)
at com.borland.dx.dataset.StorageDataSet.a(Unknown Source)
at com.borland.dx.dataset.DataSet.a(Unknown Source)
at com.borland.dx.dataset.DataSet.open(Unknown Source)
at net.impro.impronet.engine.site.Site.setSiteDetailsFromDB(Site.java:739)
at net.impro.impronet.engine.site.Site.Startup(Site.java:117)
at
net.impro.impronet.engine.site.SiteManager.activateSite(SiteManager.java:114
)
at
net.impro.impronet.engine.site.SiteManager.activateLocalSite(SiteManager.jav
a:246)
at net.impro.impronet.engine.site.SiteManager.Startup(SiteManager.java:90)
at
net.impro.impronet.engine.EngineManager.executeCommand(EngineManager.java:61
1)
at net.impro.impronet.engine.EngineManager.run(EngineManager.java:257)
at java.lang.Thread.run(Thread.java:536)

Our code (line 739) is:

private void setSiteDetailsFromDB() throws SiteException {
QueryDataSet qdsSiteDetailsBySLA;
ParameterRow prSiteDetails;
try {
prSiteDetails = eDM.getPrSiteSLA();
qdsSiteDetailsBySLA = eDM.getQdsSiteDetailsBySLA();
prSiteDetails.setString("SITE_SLA",siteSLA.toString());
qdsSiteDetailsBySLA.open(); <-- (Line 739)
...

The query from the datamodule is:

colSiteSLA.setCaption("Site SLA");
colSiteSLA.setColumnName("SITE_SLA");
colSiteSLA.setDataType(com.borland.dx.dataset.Variant.STRING);
colSiteSLA.setPreferredOrdinal(0);
colSiteSLA.setServerColumnName("");
colSiteSLA.setSqlType(0);
qdsSiteDetailsBySLA.setQuery(new
com.borland.dx.sql.dataset.QueryDescriptor(dbImpronetGen, "SELECT
SITE.SITE_NAME,SITE.SITE_ENFORCEROUTING,SITE.SITE_SEED,SITE.SITE_GROUPWORD,S
ITE.SITE_ID,SITE.S" +
"ITE_LOCAL,SITE.SITE_MODIFIED FROM SITE WHERE
SITE.SITE_SLA=:SITE_SLA", prSiteSLA, true, Load.ALL));
prSiteSLA.setColumns(new Column[] {colSiteSLA});

The Site table metadata is:

CREATE TABLE SITE
(
SITE_SLA CHAR(8) CHARACTER SET UNICODE_FSS NOT NULL,
SITE_NAME VARCHAR(40) CHARACTER SET UNICODE_FSS NOT NULL,
SITE_ENFORCEROUTING SMALLINT NOT NULL,
SITE_SEED VARCHAR(16) CHARACTER SET UNICODE_FSS NOT NULL,
SITE_GROUPWORD INTEGER NOT NULL,
SITE_ID INTEGER NOT NULL,
SITE_LOCAL SMALLINT NOT NULL,
SITE_MODIFIED SMALLINT NOT NULL,
SITE_DST_OFFSET INTEGER,
SITE_DST_STARTDATE INTEGER,
SITE_DST_ENDDATE INTEGER,
SITE_DST_STARTTIME INTEGER,
SITE_DST_ENDTIME INTEGER,
CONSTRAINT PK_SITE PRIMARY KEY (SITE_SLA)
);

Any ideas?

Regards,
Rashid Motala rashidm@...
Impro Technologies (S. Africa)