[unixODBC-support] Solid, unixODBC & mxODBC: Restricted data type attribute violation

Martin J. Evans martin.evans at easysoft.com
Tue Nov 8 19:25:32 GMT 2005


Nick Gorham wrote:
> Michal Vitecek wrote:
> 
>> hello Nick,
>>
>> 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)
> 
> 
Martin



More information about the unixODBC-support mailing list