Board index » delphi » BDE & Interbase Dialect 3

BDE & Interbase Dialect 3

Hi folks,

Is there a way to make BDE work using Interbase 6 Dialect 3?

Thanks.

Giovani Marinho

 

Re:BDE & Interbase Dialect 3


Bill,

Below are a couple of schema extracts from IBConsole.  The first is created
under Dialect 1, the second under 3.  I see what you mean about the double
quotes.  When I modify the Delphi Code SQL Select statement to be all
uppercase it seems to work.  Does this mean I need to alter every SQL
statement to be Uppercase or can I alter the schema somehow as my code has
the same upper and lower case as the schema.

Dialect 1
/* Domain definitions */
CREATE DOMAIN FIXEDCODE AS CHAR(10) CHARACTER SET ISO8859_1
  DEFAULT '';
CREATE DOMAIN FIXEDDECODE AS CHAR(30) CHARACTER SET ISO8859_1
  DEFAULT '';
CREATE DOMAIN LINKNOTYPE AS INTEGER NOT NULL;
CREATE DOMAIN NUMBERTYPE AS INTEGER
  DEFAULT 0;
CREATE DOMAIN TIMETYPE AS TIMESTAMP;

/* Table: CAPABILITIES, Owner: PETER */

CREATE TABLE CAPABILITIES
(
  AUTONO LINKNOTYPE,
  CAPABILITYAUTONO LINKNOTYPE,
  CAPABILITIESFIXEDCODE FIXEDCODE,
  CAPABILITIESFIXEDDECODE FIXEDDECODE,
  SETBYCONSULTANT NUMBERTYPE,
  SETDATE TIMETYPE,
 PRIMARY KEY (AUTONO, CAPABILITYAUTONO)
);

Dialect 3

/* Domain definitions */
CREATE DOMAIN "FIXEDCODE" AS CHAR(10) CHARACTER SET ISO8859_1
  DEFAULT '';
CREATE DOMAIN "FIXEDDECODE" AS CHAR(30) CHARACTER SET ISO8859_1
  DEFAULT '';
CREATE DOMAIN "LINKNOTYPE" AS INTEGER NOT NULL;
CREATE DOMAIN "NUMBERTYPE" AS INTEGER
  DEFAULT 0;
CREATE DOMAIN "TIMETYPE" AS TIMESTAMP;

/* Table: CAPABILITIES, Owner: SYSDBA */

CREATE TABLE "CAPABILITIES"
(
  "AUTONO" "LINKNOTYPE",
  "CAPABILITYAUTONO" "LINKNOTYPE",
  "CAPABILITIESFIXEDCODE" "FIXEDCODE",
  "CAPABILITIESFIXEDDECODE" "FIXEDDECODE",
  "SETBYCONSULTANT" "NUMBERTYPE",
  "SETDATE" "TIMETYPE",
 PRIMARY KEY ("AUTONO", "CAPABILITYAUTONO")
);

Thanks

Peter

Quote
"Bill Todd" <b...@notthis.dbginc.com> wrote in message

news:6hlduucvdfll4aca2rgl9j38ollrcq8o4h@4ax.com...
Quote
> If you or the tool you used to create your database objects used
> quoted identifiers the object names are case sensitive. Look at the
> metadata for the table and see if the name is in double quotes. If so,
> it is case sensitive and your problem may be caused by a case
> mismatch.

> On Fri, 29 Nov 2002 13:26:34 +1000, "Peter Batten"
> <dataf...@tpgi.com.au> wrote:

> >Bill,
> >I was about to ask the same question but I'll jump on the back of
Giovani
> >Marinho's question

> >I have tried this and also tried setting a log on parameter
> >        dmData.dbCMS.Params.Add('SQLDIALECT=3');
> >With either or both set I get a message as soon as I try to access a
table
> >(just issueing a prepare statement)
> >"Table does not exist"

> >Do I need to do a Backup/Restore with dialect3 selected in IBConsole
first?

> >TIA
> >Peter Batten

> --
> Bill (TeamB)
> (TeamB cannot respond to questions received via email)

Re:BDE & Interbase Dialect 3


On Sun, 1 Dec 2002 09:40:48 +1000, "Peter Batten"

Quote
<dataf...@tpgi.com.au> wrote:
>Bill,

>Below are a couple of schema extracts from IBConsole.  The first is created
>under Dialect 1, the second under 3.  I see what you mean about the double
>quotes.  When I modify the Delphi Code SQL Select statement to be all
>uppercase it seems to work.  Does this mean I need to alter every SQL
>statement to be Uppercase or can I alter the schema somehow as my code has
>the same upper and lower case as the schema.

You can alther the names in the metadata to be case sensitive by
enclosing them in double quotes and typing them in the case that
matches your code.

Quote

>Dialect 1
>/* Domain definitions */
>CREATE DOMAIN FIXEDCODE AS CHAR(10) CHARACTER SET ISO8859_1
>  DEFAULT '';
>CREATE DOMAIN FIXEDDECODE AS CHAR(30) CHARACTER SET ISO8859_1
>  DEFAULT '';
>CREATE DOMAIN LINKNOTYPE AS INTEGER NOT NULL;
>CREATE DOMAIN NUMBERTYPE AS INTEGER
>  DEFAULT 0;
>CREATE DOMAIN TIMETYPE AS TIMESTAMP;

>/* Table: CAPABILITIES, Owner: PETER */

>CREATE TABLE CAPABILITIES
>(
>  AUTONO LINKNOTYPE,
>  CAPABILITYAUTONO LINKNOTYPE,
>  CAPABILITIESFIXEDCODE FIXEDCODE,
>  CAPABILITIESFIXEDDECODE FIXEDDECODE,
>  SETBYCONSULTANT NUMBERTYPE,
>  SETDATE TIMETYPE,
> PRIMARY KEY (AUTONO, CAPABILITYAUTONO)
>);

>Dialect 3

>/* Domain definitions */
>CREATE DOMAIN "FIXEDCODE" AS CHAR(10) CHARACTER SET ISO8859_1
>  DEFAULT '';
>CREATE DOMAIN "FIXEDDECODE" AS CHAR(30) CHARACTER SET ISO8859_1
>  DEFAULT '';
>CREATE DOMAIN "LINKNOTYPE" AS INTEGER NOT NULL;
>CREATE DOMAIN "NUMBERTYPE" AS INTEGER
>  DEFAULT 0;
>CREATE DOMAIN "TIMETYPE" AS TIMESTAMP;

>/* Table: CAPABILITIES, Owner: SYSDBA */

>CREATE TABLE "CAPABILITIES"
>(
>  "AUTONO" "LINKNOTYPE",
>  "CAPABILITYAUTONO" "LINKNOTYPE",
>  "CAPABILITIESFIXEDCODE" "FIXEDCODE",
>  "CAPABILITIESFIXEDDECODE" "FIXEDDECODE",
>  "SETBYCONSULTANT" "NUMBERTYPE",
>  "SETDATE" "TIMETYPE",
> PRIMARY KEY ("AUTONO", "CAPABILITYAUTONO")
>);

>Thanks

>Peter

>"Bill Todd" <b...@notthis.dbginc.com> wrote in message
>news:6hlduucvdfll4aca2rgl9j38ollrcq8o4h@4ax.com...
>> If you or the tool you used to create your database objects used
>> quoted identifiers the object names are case sensitive. Look at the
>> metadata for the table and see if the name is in double quotes. If so,
>> it is case sensitive and your problem may be caused by a case
>> mismatch.

>> On Fri, 29 Nov 2002 13:26:34 +1000, "Peter Batten"
>> <dataf...@tpgi.com.au> wrote:

>> >Bill,
>> >I was about to ask the same question but I'll jump on the back of
>Giovani
>> >Marinho's question

>> >I have tried this and also tried setting a log on parameter
>> >        dmData.dbCMS.Params.Add('SQLDIALECT=3');
>> >With either or both set I get a message as soon as I try to access a
>table
>> >(just issueing a prepare statement)
>> >"Table does not exist"

>> >Do I need to do a Backup/Restore with dialect3 selected in IBConsole
>first?

>> >TIA
>> >Peter Batten

>> --
>> Bill (TeamB)
>> (TeamB cannot respond to questions received via email)

--
Bill (TeamB)
(TeamB cannot respond to questions received via email)

Other Threads