|
My script is trying to retrieve user and computer info and put it into a MS SQL Db but I keep getting the error:
ERROR: invalid method/Function call: too many parameters! Script: logon.kix Line: 154
or i get Missing Comma! at the same location when I change the DBExecuteSQL line
;********************************************** ;BEGIN FUNCTION DB CONNECTION ;**********************************************
Function DBConnOpen($ConnDSN, optional $ConnTimeout, optional $CmdTimeout) Dim $objConn, $adStateOpen
$dbconnopen=""
$adStateOpen=1
if vartype($ConnTimeout) $ConnTimeout=val($ConnTimeout) else $ConnTimeout=15 endif
if vartype($CmdTimeout) $CmdTimeout=val($CmdTimeout) else $CmdTimeout=30 endif
$ConnDSN=trim($ConnDSN) if not $ConnDSN exit 87 endif
$objConn = CreateObject("ADODB.Connection") if @ERROR exit @ERROR endif
$objConn.ConnectionTimeout = $ConnTimeout if @ERROR exit @ERROR endif
$objConn.CommandTimeout = $CmdTimeout if @ERROR exit @ERROR endif
$objConn.Open($ConnDSN) if @ERROR exit @ERROR endif
if not $objConn.State=$adStateOpen $objConn="" $DBConnOpen="" exit @ERROR endif $DBConnOpen=$objConn exit 0 EndFunction
;********************************************** ;END FUNCTION DB CONNECTION ;**********************************************
;********************************************** ;BEGIN FUCNTION DB EXECUTE ;**********************************************
function DBExecuteSQL($objConn, $sql, optional $cmdType) dim $cmdCommand, $rsRecordset dim $adCmdUnspecified, $adCmdText, $adCmdTable, $adCmdStoredProc, $adCmdUnknown, $adCmdFile, $adCmdTableDirect
$adCmdUnspecified = -1 $adCmdText = 1 $adCmdTable = 2 $adCmdStoredProc = 4 $adCmdUnknown = 8 $adCmdFile = 256 $adCmdTableDirect = 512
if vartype($cmdType) $cmdType=val($cmdType) else $cmdType=$adCmdText endif
if vartype($objConn)<>9 or $sql='' exit 87 endif
$cmdCommand = CreateObject('ADODB.Command') if @ERROR exit @ERROR endif
$cmdCommand.ActiveConnection = $objConn if @ERROR exit @ERROR endif
$cmdCommand.CommandType = $cmdType if @ERROR exit @ERROR endif
$cmdCommand.CommandText = $sql if @ERROR exit @ERROR endif
$rsRecordset=$cmdCommand.Execute() $cmdCommand="" $rsRecordset="" if @ERROR exit @ERROR endif
$DBExecuteSQL=0 exit 0
endfunction ;********************************************** ;END FUCNTION DB EXECUTE ;**********************************************
;********************************************** ;BEGIN FUNCTION DB CLOSE ;********************************************** Function DBConnClose($objConn) Dim $adStateOpen
$adStateOpen = 1
If vartype($objConn)=9 If $objConn.State = $adStateOpen $objConn.Close() if @ERROR exit @ERROR endif EndIf $objConn="" else exit 87 endif
$DBConnClose=0 exit 0 EndFunction ;********************************************** ;END FUNCTION DB CLOSE ;**********************************************
$objConn = DBConnOpen ("DRIVER={SQL Server};SERVER=Troy;UID=testuser;PWD=*****;DATABASE=UserTimes")
$retcode = DBCConnOpen($objConn) $retcode = DBExecuteSQL ($objConn,"Insert into Logon (Userid, FullName, OSVer, SP, BuildNo, Workstation, Dom, DC, IP, MAC, CPU, RAM) VALUES (@USERID, @FULLNAME, @PRODUCTTYPE, @CSD, @BUILD, @WKSTA, @DOMAIN, @LSERVER, @IPINFO, @ADDRESS, @CPU, MEMORYSIZE()") $retcode = DBConnClose ($objConn)
All Your Help is Greatly Appreciated
|