OdrPrepareProc: unicode convert to char(254)

General discussion forum about all databases other than SqlBase.

OdrPrepareProc: unicode convert to char(254)

Post by cabi » 16 Feb 2012, 17:00

We use an stored procedure to save an unicode value from a datafield into a nvarchar column of a database column. The statement is prepared by OdrPrepareProc. Microsoft SQL Profiler shows us that the transfered data type is char(254).

Does OdrPrepareProc suport unicode? What is your experience?

Jeff Luther

Re: OdrPrepareProc: unicode convert to char(254)

Post by Jeff Luther » 23 Feb 2012, 00:16

I'm asking internally, but in answer to your question:
Does OdrPrepareProc support Unicode?
I would have to say Yes, TD v6 is in Unicode, all strings are Unicode/double-byte, and essentially all SAL functions with string parameters are passing those strings as Unicode strings.

Did you mean NVARCHAR2, an Oracle data type? If not, then what is the DB type you are using?

Now I have 3 question back:
1) is your Oracle or other DB brand Unicode-enabled?
Seems to me if yes, it does support Unicode then char(254) in Oracle = 254 char. string length in TD.

2) It sounds like you are sneaking up to having a problem, but have not said what that is.
So... What is the problem? Are you seeing string param. values being truncated to 1/2 their length when you call OdrPrepareProc() ?

3) Are you perhaps confusing the length of an OdrPrepareProc() string parameter with the 'content' of the sIntoList and a Long String variable in that list?

Here's the function prototype: bOk = OdrPrepareProc( hSql, strProc, strIntoList )

While sIntoList might be limited to a length of 254 -- per your comment about what you saw with SQL Profiler -- that has nothing to do with a Long String INTO var listed in the variable sIntoList.

Return to “General Discussion”

Who is online

Users browsing this forum: [Ccbot] and 0 guests