Toon posts:

[VBS] Opvragen van stored procedure return code

Pagina: 1
Acties:
  • 46 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik heb een vbs script nodig die connecteerd naar MSSQL, daar een stored procedure oproept, en me de return code en text van die SP geeft. Kan iemand me een beetje verder helpen?

De code voor een voorbeeld SP staat vanonder... Ik zou dus 2 variabelen in deze VBS moeten krijgen:
var1 = 'Voorbeeld text. Database Nothwind'
var2 = 1

M'n code connecteerd momenteel al, voert de SP uit, maar ik heb geen idee hoe ik de return text en return code moet opvangen.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
'ADO CONSTANTS
Const adVarChar = 200
Const adParamInput = &H0001
Const adCmdStoredPRoc = &H0004

On Error Resume Next

Dim sDriver, sServer, sUser, sPassword, sDatabase
Dim sConnect
Dim connDb
Dim cmdAddLog
Dim parm
Dim cRecs

sDriver = "SQL Server"
sServer = "!!!INSERT_SERVERNAAM!!!"
sUser = ""
sPassword = ""
sDatabase = "master"
 sConnect = "driver=" + sDriver + ";server=" + sServer + ";uid=" + sUser + ";pwd=" +  sPassword + ";Trusted_Connection=Yes;database=" + sDatabase

Set connDb = Wscript.CreateObject("ADODB.Connection")
connDb.ConnectionString = sConnect
connDb.Open
If Err.Number <> 0 Then
  ShowErr "Unable to connect to database"
End If
Wscript.Echo "Connected to " & sDatabase & " database on " & sServer

Set cmdAddLog = Wscript.CreateObject("ADODB.Command")
Set cmdAddLog.ActiveConnection = connDb

cmdAddLog.CommandText = "check_server"
cmdAddLog.CommandType = adCmdStoredProc

Set parm = cmdAddLog.CreateParameter("Database")
parm.Type = adVarChar
parm.Size = 20
parm.Direction = adParamInput
parm.Value = "northwind"
cmdAddLog.Parameters.Append parm

If Err.Number <> 0 Then
  ShowErr "Error creating Database parameter"
End If

cmdAddLog.Execute

If (Err.Number <> 0) Then
  ShowErr "Error executing SP"
Else
  Wscript.Echo "Finished executing SP"
End if

Wscript.Quit 0

Sub ShowErr(sDesc)
  Wscript.Echo "Error: " & sDesc
  Wscript.Echo "Err# " & Err.Number & " - " & Err.Description
  Wscript.Quit Err.Number
End Sub


Een voorbeeld van een SP in MSSQL:

code:
1
2
3
4
5
CREATE PROCEDURE check_server @databasename varchar(50)  AS

print 'Voorbeeld text.  Database: ' + @databasename
return 1
GO

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 23:02

Creepy

Tactical Espionage Splatterer

En je wilt nu dat wij je voorbeeldscript voor je gaan aanpassen? Dat lijkt erg op een scriptrequest. Zie ook P&W FAQ - Scriptrequests

Dus ga zelf eens actief aan de slag met je script. Als je er echt niet uitkomt post dan de zaken die je zelf al hebt geprobeerd en wat daar niet mee lukte. Daarbij kan je ook de relevante code posten (dus niet alle).

Overigens is op MSDN prima te vinden hoe je het resultaat van je SP zou kunnen opvragen.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Dit topic is gesloten.