AnsweredAssumed Answered

Windows ODBC Issues.

Question asked by gsfleck on Dec 10, 2015
Latest reply on Dec 17, 2015 by gsfleck

Folks, Am running into several issues using ODBC to FM Server v14.0.0 Using Windows v10 32bit client, FM Pro  FM ODBC  v12.3.103, Development environment is Visual Studio 2012, C#, .Net 4.5  System.Data.Odbc Objects,

Basic connection URL: Driver={FileMaker ODBC};Server=MYServerName;Database=MYDataBase;UID=MyID;PWD=MyPassword

The main issue at current that a good work around is a bit illusive deals with VARCHAR fields containing more then 2046 charters causes the code / connection to freeze forcing me to kill process. So far, the way I can handle is to evaluate the individual fields, split it up using SUBSTR SQL function and reassemble. But the issue with that is performance and having to write unnecessary code.

Note: That with ODBC detail logging on, nothing is logged when event happens. Also network traffic stops with FM server (using Wire Shark to sniff). Also using ODBC to other DBM does not experience this issue.

Below is a list of items ran into and workarounds.Cant help but wander that there is something I am missing or the FM ODBC implementation itself has problems.

Any suggestions would be greatly appreciated?

Thank You


Freeze when fetching VARCHAR Data

When length of charaters > 2046


No Good workable solution without degrading performance

NOTE: Seen similar issue with embedded document returning as binary: not confirmed


DataTable/DataColunm Object: Bad handling of VARCHAR unlimited size.

DataRow object returns with MaxLength of 0 (Zero). This apparently indicates unlimited size with-in FileMaker; Causes restriction exception in .Net object. Saw same with HTTP Webb# XML object


1. Load DataTable from reader via DataSet with EnforceConstraints false.

2. Change MaxLenth restriction on Type String columns from 0 to -1


Transactions Fail on Windows 10 (Not an Issue Previous Windows 7)

Can not assign begin transaction directly to command transaction property


1. Must be created using Transaction Class Object then assignment


Freeze fetching data sets

Happens with large result sets


Use OFFSET and FETCH FIRST commands in SQL Statement to cursor data.


ERROR [HY000] [FileMaker][FileMaker] No cursor open for statement

Server Response Time; Over Tasked ?; Not know what causes this error;


* 2nd query same SQL 95% of time return results; 5% a third time will work

1. Resolved: Introduce up to 1/2 sleep before 2nd query

Note: 2nd query immediately tends to error again and requires retry