2 Replies Latest reply on Dec 17, 2015 11:50 AM by gsfleck

    Windows ODBC Issues.

    gsfleck

      Folks, Am running into several issues using ODBC to FM Server v14.0.0 Using Windows v10 32bit client, FM Pro 12.0.4.0  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

      Greg


      Freeze when fetching VARCHAR Data

      When length of charaters > 2046

      Workaround:

      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

      Workaround:

      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

      Workaround:

      1. Must be created using Transaction Class Object then assignment

       

      Freeze fetching data sets

      Happens with large result sets

      Workaround:

      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;

      Workaround:

      * 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