Subject Using WIN1254 Firebird database with ColdFusion MX
Author esrefatak
Hi,

If you would like to assist me i have a problem; I get some error
messages related with conversion of character sets while I execute my
processes on a Firebird database with Turkish character set (WIN1254)
with ColdFusion MX. My processes do not commit.

I am using ColdFusion MX with WinXP operating system. All the
language configuration of my operating system is Turkish (WIN1254). I
have a Firebird 1.5 database with the character set WIN1254. The
version of my database server:

Firebird 1.5.0 4306 Super Server.


I have created a datasource in ColdFusion MX to connect the database.
The detailed information of my datasource is shown below:

http://esrefatak.sitemynet.com/_cop/fb_win1254/datasource.png

I had to use JDBC to connect Firebird using ColdFusion MX. I have
downloaded the driver of JDBC from the Firebird section at
www.sourceforge.net . The file of my JDBC driver which i have is
below:


http://esrefatak.sitemynet.com/firebird/yazilim/firebirdsql.jar


The configuration of ColdFusion MX and JRun are at its default
configuration. Only; i have added the last two commands to the end of
the;

JRun Managament Console > cfusion > Settings > JVM Settings > JVM
Arguments

value which start with with "-Duser..." at JRun Management Console.

-server -Dsun.io.useCanonCaches=false -
Xbootclasspath/a:"{application.home}/servers/cfusion/cfusion-
ear/cfusion-war/WEB-INF/cfusion/lib/ webchartsJava2D.jar" -
XX:MaxPermSize=128m -XX:+UseParallelGC -DJINTEGRA_NATIVE_MODE -
DJINTEGRA_PREFETCH_ENUMS -Duser.language=en -Duser.region=US

The structure of the database which i use is below;

http://esrefatak.sitemynet.com/_cop/fb_win1254/database.png

As you see, the database is created with the character set WIN1254.
But i have encountered some Turkish character problems again when i
created the database with the character set UNICODE_FSS. The image
which shows the structure of the tablet hat i work on is below;

http://esrefatak.sitemynet.com/_cop/fb_win1254/table_structure.png

The SQL statement that i use to create the tablet hat i work on is
below;

RECREATE TABLE BANKA
( AD VARCHAR(100) NOT NULL COLLATE WIN1254);

While inserting record to the table ColdFusion MX throws an error.
The image files which show the error are below;

When i DO NOT use "CAST()"

http://esrefatak.sitemynet.com/_cop/fb_win1254/without_cast_error.png

When i use "CAST()"

http://esrefatak.sitemynet.com/_cop/fb_win1254/with_cast_error.png

The SQL statements which throw the above errors are shown in the
below image.

http://esrefatak.sitemynet.com/_cop/fb_win1254/cfquery_update.png

I tried to use "cfqueryparam" at CFQUERY tag. But it did not work.

http://esrefatak.sitemynet.com/_cop/fb_win1254/cfqueryparam.png

The characters of the existing records are shown without any problem.
But when i use "ORDER BY AD" the records are ordered with fault. I
mean, it orders the Turkish characters at the end of the ordered
records. It is shown in this image file.

http://esrefatak.sitemynet.com/_cop/fb_win1254/cfquery_result.png

The SQL statement that i use to read the above recors are shown in
this image file.

http://esrefatak.sitemynet.com/_cop/fb_win1254/cfquery_select.png

I have downloaded Interbase 7.1. I have downloaded the most
appropriate JDBS driver for IB 7.1 from the same site (Borland's
site). I have installed IB 7.1. I have created a datasource at
ColdFusion MX which uses the JDBC driver that i have downloaded. I
have created a database with using character set WIN1254 at IB 7.1. I
have added a table to the new database. I have made some read/update
operations on the table. I have encountered the same Turkish
character conversion errors at IB 7.1 too.

I have tried to use the Firebird 1.0 version. But it did not work
again.

I do not encounter any problem when i use the Database Workbench
software to insert Turkish record to the table. But again using this
software do not solve the order of Turkish character problem

I want to be the very first man who uses ColdFusion with Firebird
without any problem in Turkey,. Please help me about my problem on
this subject.


--
Sincerely,
Esref Atak