[unixODBC-support] truncated memo fields

Martin J. Evans martin.evans at easysoft.com
Wed Nov 16 17:59:46 GMT 2005


Do you have a /tmp/odbc_bridgec.??? file as well you can send me?

The 5th column is (Column:5 Name:Data Type:-1 Size:2147483647 DD:0 N:1)
but the SQLFetch is returning SQL_SUCCESS_WITH_INFO which may indicate
a data truncated. The buffer OOB is using is what the app provided
which was 65535 bytes.

Martin

--
Martin J. Evans
Easysoft Ltd, UK
Development


On 16-Nov-2005 tom wright wrote:
> Hi Martin, Thanks for your response, I'll try and answer as many of
> your questions as I can. The client application is R
> (www.r-project.org) using the RODBC package
> (http://probability.ca/cran/src/contrib/Descriptions/RODBC.html) I dont
> really know how the app is retrieving the memo field nor do I know what
> SQL type it is using although I think it may be a large character
> field. The data retrieved is a series of numeric values seperated by
> '\r' values I then process these into the componant numbers. This works
> for me when I retrieve a similar although shorter field of 1536 numbers
> but when I try to get the larger field of 10240 numbers the application
> reports that only 6921 are returned. The increased buffer size is the
> odbc Microsoft Access Driver (*.mdb) MaxBufferSize.
> I have attached the file you requested.
> Many thanks for your time on this.
> Tom
> 
>> On 16-Nov-2005 tom wright wrote:
>> > Hi folks, 
>> > I'm turning to you in desperation.
>> 
>> Why? Have you tried support at easysoft.com yet?
>> 
>> > I'm using OOB to connect a linux (debian AMD64 with unixODBC)
>> > application to a MSAccess database (MDAC 2.8 sp1)
>> > The access database contains some very large memo fields (92160
>> > characters). Everytime I try to select a single one of these fields it
>> > appears that the field is being truncated. When I select just the field
>> > I get approximatly the first 61893 characters, if I try to use LEFT in
>> > my sql statement it gets truncated even more (aprox 261 characters).
>> > I'm a little stuck as to what I can do here, I've tried increasing the
>> > buffer size on the windows side of the ODBC connection, is it possible
>> > (nessecary) to do this on the linux side?
>> > Any tips will be very useful
>> > Thanks
>> > Tom
>> 
>> o What is your client application?
>> o How are you retrieving the memo field? (using bound columns? SQLGetData?
>>   or you don't know what the app is doing)
>> o what SQL type are you retrieving the memo field as?
>> o how are you determining the data is truncated
>> o what buffer size did you increase on the windows side?
>> 
>> If you have some app/program you can run from the command line:
>> 
>> 1. in the current working dir create the file odbc.ini and in it put:
>> 
>> {Settings}
>> Logging = 0xffffff
>> 
>>   those are curly brackets.
>> 
>> 2. WITHOUT changing dir, run you program (i.e. you may need to put the fill
>>    path in to it)
>> 
>> 3. you should get a file /tmp/esoobclient.log_<PID> where <PID> is the
>> process
>>    ID. Mail that to me and I'll take a look.
>> 
>> Martin
>> --
>> Martin J. Evans
>> Easysoft Ltd, UK
>> Development



More information about the unixODBC-support mailing list