On Thursday, February 4, 2016 at 4:29:46 PM UTC-5, Stefan Karpinski wrote:
>
> On Thu, Feb 4, 2016 at 1:50 PM, Scott Jones <[email protected] 
> <javascript:>> wrote:
>
>>
>> This still doesn't explain why some drivers are accepting UCS-2/UTF-16 
>>> when called with the non-Unicode API.
>>>
>>
>> When you do so, are you actually calling the functions with the A, or 
>> just the macro without either A or W?
>> The macro will compile to either the A or the W form, depending on how 
>> your application is built.
>>
>> This is a better page in MSDN: 
>> https://msdn.microsoft.com/en-us/library/ms712612(v=vs.85).aspx describing 
>> what is going on.
>>
>
> The ODBC package calls the functions without A or W. What it's calling 
> can't be a macro since macros aren't callable via ccall. But changing ODBC 
> to call the W version of everything may be the fix here.
>

That very well may be the solution: looking for example at libiodbc on the 
Mac, it has 3 different versions of all those functions, and I'm not sure 
just what behavior you get when using the form without the A or W.  I've 
always used ODBC with the C headers, unlike the direct linking that Julia 
is doing, so that it always gets the W version since I compile as a Unicode 
build. 

Reply via email to