[erlang-questions] ODBC param query unicode

Ken Ellis <>
Thu Feb 24 00:04:57 CET 2011


Ryan,

If you're thinking of throwing in the towel, have you looked at
jinterface + JDBC?  We wound up ditching the ODBC library and using
erlang:open_port to spawn a shell command.  But we're mostly doing
bulk inserts, so COPY form stdin is fast and easy anyway.  We're also
using a shell command to execute and parse the response from an SQL
query.  I had considered briefly jinterface + JDBC to solve some
issues, but did not come to any firm conclusions. Same boat as you,
relatively exotic commercial db, nothing native.  The ODBC library is
useful, for sure, but the level of finish is a bit lower than the rest
of the libs in the OTP distribution.

Ken


On Wed, Feb 23, 2011 at 2:27 PM, Ryan Huffman <> wrote:
>>
>> should use mysql native driver, It works fine.
>
>
> Unfortunately I'm using SQL Server and not MySQL, thank you for the
> suggestion though.
>
> It says add some unicode support!  (Some is an importante word here).
>
>
> Hi Ingela,
>
> Sorry, I should have worded my question better.  I was mostly interested in
> finding out what the extent of the added support was :).
>
> Thanks for the tip on the test cases.  Unfortunately I still haven't had any
> luck.  The SELECTs still aren't returning unicode, just latin1 binaries. I'm
> using Arch Linux, unixODBC and freeTDS.  Using wvarchar always fails with a
> bind error - looking at the c code, it looks like a unixodbc or freetds
> error.  At this point I'm about ready to throw the towel in.
>
> Thanks for the help,
>
> Ryan
>
> On Wed, Feb 23, 2011 at 1:42 AM, Ingela Andin <>wrote:
>
>> Hi!
>>
>> It says add some unicode support!  (Some is an importante word here).
>> You have to
>> handle the encoding yourself but you can insert and extract unicode
>> data if you know
>> how your datbase engine handles unicode data.
>> See the test case unicode in odbc_data_type_SUITE.erl
>>
>> Regards Ingela Erlang/OTP team - Ericsson AB
>>
>> 2011/2/23 Ryan Huffman <>:
>> > According to the release notes the 2.10.8 added unicode support, but thus
>> > far I haven't had any luck getting it to work (
>> >
>> http://www3.erlang.org/documentation/doc-5.8/lib/odbc-2.10.8/doc/html/notes.html
>> ).
>> >  Can anyone shed some light on what is supported?  I've tried using
>> > param_query's with sql_wvarchar but without success (using utf8, utf16
>> > little endian, utf16 big endian, etc...), and selecting rows with utf
>> > characters returns a ? in place of utf characters (as expected, the rest
>> of
>> > the characters are still 8 bits wide rather than 16).
>> >
>> > Using 2.10.8 and R14B, connecting to an MSSQL server.
>> >
>> > Thanks,
>> >
>> > Ryan
>> >
>>
>


More information about the erlang-questions mailing list