>fwiw, I'm not experiencing problems with MySQL...which version were you
>using?  I think I was still using the 3.23 ODBC driver version.

I posted about it here about 3/4-1 year ago, I was using a 3.xx based 
version. The two things I recall from memory was that Medium Text 
fields were treated as C(255) in VFP, and many of the Numeric fields 
did not respect the sizing, ie, N(5,2) came back in VFP as N(13,11) 
or something crazy like that.

I also tried drivers as old as MySQL5 would allow ( I think it went 
back to 3.11) and tried every new driver as they came out. During 
this time I think I tried 4 new revisions of the driver, none of 
which ever helped. The ODBC 5 series driver was also very 
problematic, far worse than the 3.xx series, but it was also flagged 
as beta (might still be?).

I quickly lost confidence in MySQL which is unfortunate as the server 
itself is probably just fine.

Kevin turned me on to PostgreSQL and it has not exhibited any 
oddities with the ODBC driver ( at least not yet ), with the 
exception of the async thing, which is not a bug, it's just missing 
functionality. I don't know if MySQL supports asycn either.

>Also, was it easy for you to switch the backend as you did?

The upside of this whole mess was that it forced me to write an 
abstraction layer to the backend so that the switch over process was 
painless, and I can easily switch back by just changing a property 
(can also switch to VFP). The trick of course as you already know, is 
to never write your SQL using anything but strict ANSI compliant 
code, and trying to pick an approach that is backend agnostic (not 
always so easy).

I also ended up writing code so as to allow me to write 1 SQL 
statement and let the class convert the syntax to the appropriate 
backend, rather than having to code specifically for any particular 
backend, ie, I tell it I want the equivalent of fox's NVL() for 
example, and it subs in the appropriate equivalent syntax for the 
selected backend.

This makes reading any given SQL statement a bit yuckier, but I like 
the benefit of not having to maintain various SQL statements for any 
particular backend.

Of course, I've really only focused on PostgreSQL support at this 
time (and even then, only covering functions as I find I need them).. 
so if I was going to do it right, it'd probably be a lot more work to 
flush out the functionality for other backends, which I don't have 
the time nor desire to do at the moment, but maybe someday.. :)







_______________________________________________
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://leafe.com/mailman/listinfo/profox
OT-free version of this list: http://leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: http://leafe.com/archives/byMID/profox/[EMAIL PROTECTED]
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.

Reply via email to