cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dov Rosenberg <>
Subject MS SQL Server Unicode Support
Date Tue, 19 Sep 2006 21:12:03 GMT
We are using Cayenne for some web services alongside our EOF based
application. Our application supports unicode formatted characters in the
database but in order to support it properly using MS SQL Server apparently
we need to change our data types from char, varchar, text to nchar,
nvarcahr, ntext. This is no big deal. However in order to properly store the
data into those fields and to be able to query against them we need to
preface all of the strings with a N ­ this signals MSSQL Server to use the
Unicode encoding for that column. For example say we have a table:

    RECORDID    NVARCHAR(64)        NOT NULL ,
    XML         NTEXT               NULL ,

In order to insert unicode characters into that table I need to generate a
SQL statement like:


Notice the N in front of the strings I am inserting. In order to query on
this table properly I need to add the N in front of the WHERE clause pieces
such as:

SELECT * from CONTENTDATA where xml like N¹<MYXML>%¹;

I only need to put the N when the data contains unicode characters ­ but I
really won¹t know that so I probably need to do it all of the time.

I am looking for the correct place in both cayenne and EOF to add the N¹ to
the queries (INSERTs, and WHERE clauses). Any help or suggestions would be
HIGHLY appreciated.

BTW ­ it seems that Oracle can at least tolerate this unusual SQL format.
MSFT says that it is SQL 92 compliant but I haven¹t found anything
documenting it yet.

Dov Rosenberg
Knowledge Management Experts

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message