I'm sorry for the tittle but I'm really fustrated! Filemaker ODBC, in every version keeps coming worse!
This is the first time I post to the community even if I'm a follower. I've been working for a medium school (1500 students) for over 15 years and when I started to work here the school had 3 Apple computers with Filemaker 3 installed used for the first administrative services related to students. In the same year I started to work we upgraded to Filemaker 5.5 on Windows and I started to develop software that connected to Filemaker using one of the first drivers that allow ODBC connection to Filemaker 5.5 - DataDirect SequeLink 5.5 for ODBC.
From that time from that time until now all the software is Filemaker based and we have duzens of applications with different types of access connected through ODBC, the majority now developed in .NET, connected Filemaker to SQL databases, send Json data to webservices, etc.
This wekkend we upgraded to Filemaker Server 17 (30 Webdirect concurrent connections) and now we have this configuration with 2 servers (all 64 bit versions):
- Windows Server 2012 R2 Standard fully updated (16GB RAM) (Server 1);
- Filemaker Server Version 184.108.40.206 (last version) with certificates (Server 1);
- Windows Server 2012 R2 Standard fully updated (16GB RAM) (Server 2);
- IIS Version 8.5.9600.16384 fully updated using .NET framework 4.6.1 (Server 2);
- Filemaker ODBC Driver Version 17.0.7 (last version) (Server 2).
We normally have a few concurrent connections trough the Filemaker ODBC driver and we use it a lot (every downtime is previously notified). In earlier versions of FM we used SequeLink ODBC driver with all the bugs and issues. From FM11, Filemaker has made available its first ODBC driver that we started to use, also buggy…
As all can imagine, we try to make FM databases optimized for web access (ODBC) with no calculated fiels, and so on. We develot .net applications that connect to FM using the ODBC driver, opening the connection, making the request (select, update, delete,...) and closing the connection (so it is only a short amount of time needed for the operation).
When I compare the slowness which has always been associated with the FM ODBC driver, I could say that I've replicated a FM database with 36 fiels and about 90000 records to a MySql instance on a server with the same features and versions and a simple select query for 10 fields and all records takes about 8 seconds against FM and about 1 second in MySql (using MySql ODBC driver). Even more, when there are multiple requests from diferente users, FM tends to be even slower… and sometimes FM xDBC listener crashes by itself. Nevertheless, as FM is the core for storing data we learn to live with it.
In FM ODBC driver version 12 we detected a memory issue (leak). Everytime a user opened a ODBC connection to the server, even disposing the connection the memory usage was always growing (from normally using 3 to 5GB of memory to use all 16GB and crash - we had to recycle IIS aplication pool when it reached a certain amount of RAM to keep it working). At the time we reverted the ODBC driver to the previous version to resolve the issue.
When FM13 arrived it seemed theat the memory leak was resolved and even with a slow driver we didn't detect the memory problem.
Again, in FM16 the memory issue came back again…. we, again, had to use in FM Server 16 the ODBC driver from version 15... even the ODBC 16 driver update (that stated that resolved a memory issue) has the memory leak problem.
So, when we upgrade this weekend to FM Server 17 and start using the FM ODBC 17.0.7 driver we could't believe the problem is still there… I've lost many hours trying almost everything, debuging code and nothing worked. The memory leak bug issue is still there. The only solution was to install FM ODBC driver 15.0.6 to connect to FM server 220.127.116.11.
It's a shame that a piece with master importance within the Filemaker world like the ODBC driver is, be in any way disregarded and not given due attention… I believe almost any FM user (that uses FM Server) uses ODBC somehow to do operations on a database. We learn to live with the poor performance of the driver… but memory leaks?
I'm sorry for the big text (and also my English) but I'm really fustrated. Why is the ODBC driver always so buggy? So Slow? So many problems?