[egenix-users] Re: [unixODBC-support] Solid, unixODBC & mxODBC:
Restricted datatype attribute violation
Michal Vitecek
fuf at mageo.cz
Tue Nov 15 12:32:05 CET 2005
hello Marc,
a bit of information ...
Michal Vitecek wrote:
>M.-A. Lemburg wrote:
>>Michal Vitecek wrote:
>>> hello everyone, Marc,
>>>
>>> i'm having problems with Solid, unixODBC, mxODBC combo (please read
>>> below). i originally posted the problem description to unixodbc-support
>>> list but it seems this is not their problem.
>>>
>>> can someone please help how to get around this problem?
>>
>>Some ODBC drivers don't like it when the app unbinds columns.
>>
>>The best thing to do in this case, is to simply comment
>>out the unbinding section in mxODBC.c.
>
> i looked at the code but unfortunately failed to find the spot to
> comment. can you please be more specific?
i think i have found the place (mx/ODBC/unixODBC/mxODBC.c:3086).
however commenting out the unbinding code doesn't help:
mxODBC.InternalError: ('S1090', 25204, '[unixODBC]Invalid string or
buffer length', 3258)
any suggestions? i *really* need get this thing working.
thanks,
Michal
>>> i'm using Solid 3.5, mxODBC 2.0.7, unixODBC 2.2.11.
>>
>>Solid's ODBC driver is known to have the unbind incompatibility,
>>so commenting out the section will fix the problem. The Nexus DB
>>ODBC driver is another such candidate.
>
> in the meantime i tested with Solid 4.2 and the error 'Restricted data
> type attribute violation' gets replaced with another one: 'String data,
> right truncated' *sigh*.
>
> can you please help again?
>
> thanks a lot,
> Michal
>
>>>
>>> Martin J. Evans wrote:
>>>>Nick Gorham wrote:
>>>>>Michal Vitecek wrote:
>>>>>>Nick Gorham wrote:
>>>>>>Michal Vitecek wrote:
>>>>>>>>i'm in the process of trying to use unixODBC in between the Solid
>>>>>>>>database engine and the mxODBC (python extension which adds ODBC
>>>>>>>>support). the problem is that i'm unable to retrieve values of columns
>>>>>>>>which are defined as 'VARCHAR(262144)' (256KB) and get the following
>>>>>>>>error:
>>>>>>>>
>>>>>>>>Traceback: ProgrammingError ('07006', -1, '[unixODBC]Restricted data
>>>>>>>>type attribute violation', 3326): from [snip]
>>>>>>>>
>>>>>>>>when i try to retrieve the column values via isql all i get is empty
>>>>>>>>strings for the column (all other columns of different types are okay).
>>>>>>>>
>>>>>>>
>>>>>>>At first sight I would guess you are asking the driver for a column
>>>>>>>in a type it doesn't understand.
>>>>>>>
>>>>>>>isql doesn't show long fields so that may be the problem. A ODBC
>>>>>>>trace would at least show what mxODBC is asking the driver to do.
>>>>>>>
>>>>>>
>>>>>>
>>>>>>below is the relevant (i think) part of the trace. thank you again.
>>>>>>
>>>>>>
>>>>>
>>>>>Not much help, but I think the problem is between the driver and the
>>>>>app, the app is binding a null pointer, which I suspect is confusing the
>>>>>driver
>>>>
>>>>and binding a NULL TargetValuePtr and StrLen_Or_Ind is the same as
>>>>unbinding - I think.
>>>>
>>>>
>>>>>[ODBC][696][SQLBindCol.c][165]
>>>>> Entry:
>>>>> Statement = 0x8298a70
>>>>> Column Number = 1
>>>>> Target Type = 1 SQL_CHAR
>>>>> Target Value = (nil)
>>>>> Buffer Length = 0
>>>>> StrLen Or Ind = (nil)
>>>>>
>
>--
> fuf (fuf at mageo.cz)
>
>
>_______________________________________________________________________
>eGenix.com User Mailing List http://www.egenix.com/
>https://www.egenix.com/mailman/listinfo/egenix-users
--
fuf (fuf at mageo.cz)
More information about the egenix-users
mailing list