Log On
Embarcadero Home
Watch, Follow, &
Connect with Us
Share This
QualityCentral
Communities
Articles
Blogs
Resources
Downloads
Help
QualityCentral
JBuilder
Components
DataExpress for EJB
dbSwing
InternetBeans Express
IP Works
JBCL
Sitraka
You are not logged in.
Help
Print
Public Report
Report From:
JBuilder/Components/DataExpress for EJB
[ Add a report in this area ]
Report #:
2506
Status:
Reported
DataExpress + InterClient 2.0 = Dialect Problem
Project:
JBuilder
Build #:
7.0.154.0
Version:
7.0
Submitted By:
Anthony Martin
Report Type:
Basic functionality failure
Date Reported:
9/25/2002 4:24:50 PM
Severity:
Commonly encountered problem
Last Updated:
5/2/2003 12:58:35 PM
Platform:
All platforms
Internal Tracking #:
Resolution:
None
Resolved in Build:
:
None
Duplicate of:
None
Voting and Rating
Overall Rating:
No Ratings Yet
0.00 out of 5
Total Votes:
None
Description
The problem is, when I have DataExpress construct
statements to change this table, to delete for example, it places quotes around the table names, presumably to conform to SQLDialect 3. But the database is Dialect 1, so it throws a BASE+66, Token Unknown exception.
Now, if I use the DataExpress Connection instead of the JdbcConnection like in my example, it works fine. It's important for my projects to use JdbcConnection because of the need for a connection pooling mechanism, so
how do I tell DataExpress to use SQLDialect 1 while using a JdbcConnection? Here's part of the stack trace I get when tring to delete:
See com.borland.dx.dataset.DataSetException error code: BASE+66
com.borland.dx.dataset.DataSetException: [interclient][interbase] Dynamic
SQL Error
SQL error code = -104
Token unknown - line 1, char 12
"PROFILE"
at com.borland.dx.dataset.DataSetException.a(Unknown Source)
at com.borland.dx.dataset.DataSetException.throwException(Unknown Source)
Steps to Reproduce:
.
.
.
queryStr = "SELECT * FROM PROFILE ;" ;
dataSource1.setServerName("localhost");
dataSource1.setDatabaseName("/db/unittest.gdb");
dataSource1.setUser("SYSDBA");
dataSource1.setPassword("masterkey");
dataSource1.setSQLDialect(1);
connection1 = dataSource1.getConnection();
database1.setSQLDialect(SQLDialect.INTERBASE);
database1.setDatabaseName("unittest");
database1.setJdbcConnection(connection1) ;
queryDescriptor = new QueryDescriptor(database1, queryStr);
queryDataSet1.setQuery(qd);
jdbTable1.setDataSet(queryDataSet1);
jdbNavToolBar1.setDataSet(queryDataSet1);
.
.
.
Workarounds
Add the line "database1.setIdentifierQuoteChar(' ');" to fix the problem. But this doesn't change the fact that DataExpress is using the wrong SQLDialect.
Attachment
None
Comments
None
View Your Reports
Search
Server Response from: ETNACODE01
Developer Tools
Blackfish SQL
C++Builder
Delphi
FireMonkey
Prism
InterBase
JBuilder
J Optimizer
HTML5 Builder
3rdRail & TurboRuby
Database Tools
Change Manager
DBArtisan
DB Optimizer
ER/Studio
Performance Center
Rapid SQL
Technical Articles
Tutorials
White Papers
Press Releases
Newsletters
Add Content (GetPublished)
Audio
Audio & Video
Video
Bugs & Suggestions (QualityCentral)
Discussion Forums
Examples (CodeCentral)
Tags
Technology Partners
Downloads
Free Trials
Registered User Downloads
Beta Programs
Add Content (GetPublished)
Articles
Blogs
Bugs & Suggestions (QualityCentral)
Discussion Forums
Examples (CodeCentral)
Member Services
About
Connect with Us