J'essaye d'écrire un script Powershell pour exécuter une commande SQL générale sur une base de données. L'idée est que Run-SQL "select ..." exécutera le texte SQL par rapport à la base de données actuellement ouverte. Si l'instruction SQL est une requête, elle doit renvoyer un DataTable. S'il s'agit d'une non-requête (DDL ou DML), elle ne devrait rien renvoyer ($ null). Pour ce faire, j'ai besoin de savoir quelle méthode (ExecuteReader ou ExecuteNonQuery) exécuter à l'encontre de la commande. Y a-t-il un moyen de déterminer cela? (Je suis heureux de préparer la commande si cela aide). Comme alternative, je peux ajouter un argument -query à fournir par l'utilisateur, qui distingue les deux cas, mais en tant qu'utilisateur potentiel, je trouverais cela agaçant (comme, à mon avis, j'ai déjà si c'est une requête par le SQL j'ai utilisé, pourquoi dire encore?)Puis-je savoir si un DbCommand ado.net est une requête ou non (avant de l'exécuter)
Mon utilisation principale est pour des bases de données d'Oracle, ainsi une réponse spécifique d'Oracle est OK avec moi, bien que je préfère quelque chose de générique.
J'étais sûr d'avoir essayé, mais vous avez raison, cela fonctionne très bien. Merci! –