Bug (o come far impazzire uno sviluppatore per 5 ore)…

Configurazione top: server Windows 2008 R2 64 bit iperaggiornato, SQL Server 2008 64bit, mySQL Server 5.1.41 64bit, client Windows 7 Professional 64 bit iperaggiornato.

Si crea una tabella con ADO, procedura che funziona da sempre in ogni ambito e… syntax error.

Mh: Syntax error ? Strano, beh controlliamo, verifichiamo: no è tutto ok, sintassi perfetta. Riproviamo e ancora errore: ok sarà un problema di SQL Server, riproviamo con mySQL e … syntax error. Come syntax error anche con mySQL ? Si reinstallano tutti i driver, si verificano le connessioni, si verificano i database e si riprova: no ancora syntax error!

Allora via è il turno di SQL Profiler e mySQL.log. Loro ci diranno cosa stiamo facendo lato server.

E cosa si scopre ? Che i comandi SQL CREATE TABLE passati dai driver del client sono perfetti fino al 512° carattere e ‘magicamente’ dopo riportano sequenze bizzarre di caratteri per poi comunque finire al 524° carattere.

A questo punto non resta che buttare ADO e usare direttamente SQL Passthrough per far tornare a funzionare quello che da 15 anni non ha mai dato un problema.