"Nick Sabalausky" <a@a.a> wrote in message news:j0dqhg$2cvs$1...@digitalmars.com... > "Nick Sabalausky" <a@a.a> wrote in message > news:j0b4r1$icb$1...@digitalmars.com... >> Anyone have a known-working Windows OMF library for MySQL? Static or >> dynamic, I don't care. I've tried fucking everything and I can't get the >> dang thing to work. Static was a total no-go. With dynamic, using implib >> I got it to link, but calling any of it resulted in an Access Violation. >> Using coffimplib, best I could do had one linker error, a missing >> "_mysql_real_connect". This was all with "Connector/C" v6.0.2. I'd have >> tried an older version, 5.x, but 6.0.2 is the only version that seems to >> still exist. >> > > Goddamnnit, I think the whole problem was that stupid linking with a C > "long" issue... > > The function mysql_real_connect takes a long, and it's the only part of > the MySQL interface being used that takes a long. No idea why it still > worked on Linux, but fingers crossed that a DDMD-style C bridge will fix > it... >
Ok, yea, it was a C long issue with the bindings, although I ended up not needing a C bridge. Apparently, C's "int" and "long" are both 32-bit on a 32-bit system (Also apparent: it's been a very long time since I used C/C++...) Screwy C... Once I changed the "ulong" param in the D binding for mysql_real_connect to "uint", the instructions at ( http://www.wikiservice.at/d/wiki.cgi?DatabaseBindings#MySQL ) suddenly worked like a charm. I'm now connected to my MySQL DB from D. Whoohoo! I still have no idea why it seemed to work fine on Linux without that change, but at the moment I don't particularly give a crap...