Je voudrais tester si une instruction SQL donnée est syntaxiquement et sémantiquement valide (c'est-à-dire, aucune erreur de syntaxe et aucune faute d'orthographe de champ).Analyser SQL via le pilote JDBC d'Oracle
Pour la plupart des bases de données Connection.prepareStatement
et PreparedStatement.getMetaData
ferait l'affaire (aucune exception == bonne requête). Malheureusement, le dernier pilote d'Oracle ne traite que les requêtes SELECT, mais pas les autres types de requêtes. Les conducteurs plus âgés ne font même pas cela.
Existe-t-il un autre service fourni par Oracle pour l'analyse des instructions SQL?
Wohooo! Ça a l'air sympa, je vais essayer demain :) Merci! – Aivar
Ça marche vraiment !! merci encore :) – Aivar
Il a cet inconvénient "mineur" que si vous essayez un DDL (comme créer une table) vérifié par cette fonction, le DDL est exécuté. Par exemple. sql_is_valid ('create table test (id int)'); crée réellement une table Mais il peut être contourné en ajoutant plan expliquez à votre chaîne testée (si votre utilisateur a plan_table) –