2009-07-09 8 views
1

Je suis en train d'exécuter une instruction Oracle SQL ou fonctions Oracle via Microsoft VBScript et la boucle throught le jeu de résultats ou d'afficher la valeur retournée par la fonctionComment exécuter une des instructions SQL Oracle avec VBScript

Jusqu'à présent, j'ai réussi à se connecter à Oracle via SQLPlus *, mais maintenant je suis coincé. Quelqu'un peut-il aider?


Dim output 

Dim WshShell, oExec, input 

set WshShell = CreateObject("WScript.Shell") 

set oEnv=WshShell.Environment("Process") 

cmdString = "C:\Oracle\11g\product\11.1.0\ruby\BIN\sqlplus.exe -S stradmin/[email protected] select * from dual" 
Set oExec = WshShell.Exec(cmdString) 


WScript.Echo "Status" & oExec.Status 


Do While oExec.Status = 0 

    WScript.Sleep 2 

Loop 



input = "" 



Do While Not oExec.StdOut.AtEndOfStream 

      input = input & oExec.StdOut.Read(1) 

Loop 



wscript.echo input 

Répondre

3

Essayez cela, il faut ajouter chaque champ dans le jeu d'enregistrements à la chaîne d'entrée. Si vous ne voulez qu'une valeur spécifique de chaque enregistrement, vous pouvez le faire.

connectionString = "DRIVER={Microsoft ODBC for Oracle};SERVER=oracle_server;User Id=user;Password=password;" 

Set connection = CreateObject("ADODB.Connection") 

connection.Open connectionString 
Set rs = connection.Execute("select * from dual") 

input = "" 

Do Until rs.EOF 
    for i = 0 To rs.Fields.Count - 1 
     input = input & rs.Fields.Item(i) & "|" 
    Next 
    input = input & VBNewLine 
    rs.MoveNext 
Loop 

MsgBox input 

Set connection = Nothing 
Set rs = Nothing 
Questions connexes