VB.NET - Exécution d'un script sql en SQLPLUS

Bonjour,

Je suis nouveau sur le forum, cependant je lis souvent les interventions pour régler des problèmes que je rencontre lors de ma programmation. Et là, pour la première fois depuis 4 ans, je n'ai pas trouvé réponse claire à mon dilemme, alors je me tourne vers vous tous.

Alors voilà, je veux créer un objet Process et un objet ProcessStartInfo à fin de pouvoir me connecter à SQLPLUS et lancer un script sql à partir d'un fichier. Je dois me connecter à la base de données. Comment faire un tel ouvrage, et comment savoir si l'opération à bel et bien été réussi.

Jusqu'à maintenant, j'ai ce bout de code de produit, mais il ne semble pas fonctionner.

Public Function execute(ByRef requete As Requete_Adhoc) As Integer

Dim processInfo As New ProcessStartInfo
Dim process As New Process

processInfo.FileName = requete.getPreference.getPathSqlPlus

processInfo.Arguments = requete.getConfiguration.getUsernameBd & "/" & _
requete.getConfiguration.getPasswordBd & "@" & _
requete.getConfiguration.getNomBd & " @" & _
requete.getResultant

processInfo.CreateNoWindow = True
processInfo.UseShellExecute = False

process = process.Start(processInfo)

process.WaitForExit(10000)
If Not process.HasExited Then
process.Kill()
Return 1
Else
Return 0
End If

End Function

Merci :D en espérant que vous pourrez m'éclairer.

2 réponses

  1. Personne?
    S.v.p. un petit coup de pouce serait bienvenu.
    1. Bon, je suis arrivé à la solution tout seul et je vais vous la partager d'un coup que quelqu'un d'autre arrive à ce problème et a besoin de la solution rapidement.

      Dim process As New System.Diagnostics.Process 
         process.StartInfo.FileName = Path_SQL_PLUS_Exe 
         process.StartInfo.Arguments = "-S " & _
                                  Username & _ 
                                  PW &  "@" & _ 
                                  Nom_Bd & " @" & _ 
                                  Path_Script_Sql_A_Effectuer & " " & _ 
                                  Path_Du_Output_Si_Vous_En_Avez_Un  'ca peut être un csv
      
              process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden 
              process.Start() 
              process.WaitForExit(5000) 
              process.Close() 
      


      Et voilà le tour est jouer.