Hello !

 

En ce jour de réveillon de Noël, je fais appel aux braves de la liste ;-)

 

Je suis en cours de test de migration d'une application JDBC MySQL vers SQLServer. Je vous passe bien entendu le plaisir évident de trouver le driver JDBC pas cher et sympa... bref, je tombe sur un os.

J'ai pris comme habitude dans mes rs.getString () d'utiliser les noms complets (table+champs) pour accéder à mes données. Cela me permets d'éviter les soucis avec les nombreux JOIN de mes requêtes.

 

 

Ainsi :

 

Query = « SELECT * FROM customer LEFT OUTER JOIN project ON customer.id_customer = project.id_customer »

Rs = stmt.executeQuery (Query);

Cust = Rs.getString ("customer.name");

Proj = Rs.getString ("project.name");

 

 

Cela fonctionne sous MySQL.

 

 

Maintenant, le code ci-dessus sous SQL Server me donne une erreur « Invalid column name ». En gros, interdiction d'utiliser le nom complet des champs.

Il y a évidemment la clause AS à placer dans la requête SQL pour éviter les soucis, mais cela ne fonctionne pas avec un SELECT *.

 

Quelqu'un aurait-il une idée géniale ?

Comment puis-je éviter de réécrire mon application quasiment de fond en comble ?

 

 

 

 

Sébastien Libert

SOGID.

 

Répondre à