Resources Up

#INCLUDE DEFINES.H

if type('application') = 'O'
	application.visible = .F.
endif
STORE PARAMETERS() TO lnParams
STORE .F. TO llError, lRelease
ON ERROR llError = .T.
IF TYPE('oSQLSrvr') <> 'O'
	osqlsrvr = createobject('sqldmo.sqlserver')
	IF TYPE('oSQLSrvr') <> 'O'
		WAIT WINDOW "Unable to create SQL Server OLE object." TIME 2.0
		RELEASE osqlSrvr
		ON ERROR
		if type('application') = 'O'
			application.visible = .t. and .f.
		endif
		RETURN
	ENDIF
	WAIT WINDOW NOWAIT "Connecting to SQL Server..."
	ret =osqlsrvr.connect(_SQL_SERVER, _SQL_LOGIN, _SQL_PASSWORD)
	IF llError
		WAIT WINDOW MESS() TIME 2.0
		RELEASE osqlSrvr
		ON ERROR
		if type('application') = 'O'
			application.visible = .t. and .f.
		endif
		RETURN
	ENDIF
	lRelease = .T.
ENDIF
oDb = osqlsrvr.databases('pubs')
IF TYPE('oDb') <> 'O' OR llError
	WAIT WINDOW "Unable to create SQL Server Database object." TIME 2.0
	RELEASE osqlSrvr, oDb
	ON ERROR
		if type('application') = 'O'
			application.visible = .t. and .f.
		endif
	RETURN
ENDIF
cScrptName = 'c:\temp\Scripts.SQL'
h = FCREATE(cScrptName)
cAppName = 'OSITraffic'
eH = FCREATE(_LOG_PATH + "\" + cAppName + ' Sprocs Error.log')
ah = FCREATE(_LOG_PATH + "\" + cAppName + ' Sprocs Audit.log')
= FPUTS(h, "/******************** Script Started: " + TTOC(DATETIME()) + "********************/")
= FPUTS(h, "SET NOCOUNT ON")
oQryResults = oDb.ExecuteWithResults("select p.name from sysobjects p " + ;
				"where objectproperty(id, 'IsProcedure') = 1 " + ;
				"and exists(select * from syscomments c where c.id = p.id " + ;
				"and encrypted = 1)")
NOTE USE (IIF(TYPE('cDbpath') <> 'C', _SQL_PATH, cDbPath) + "\" + cAppName + "_SPROCS")
lcCount	= LTRIM(STR(oQryResults.Rows))
SET MESSAGE TO 'Generating...'
FOR lnRecCount = 1 To oQryResults.Rows
	cSpName = "dbo." + ALLTRIM(oQryResults.GetColumnString(lnRecCount,1))
	WAIT WINDOW NOWAIT "Generating for " + cSpName + "..." + ;
				ALLT(STR(lnRecCount)) + "/" + lcCount
	= FPUTS(h, 'PRINT "Creating ' + ALLTRIM(Name) + '..."')
	= FPUTS(h, 'GO')
	= FPUTS(h, '')
	= FPUTS(h, oDb.StoredProcedures(cSpName).Script(_FULLSP_SCRIPT))
	IF llError
		llError = .F.
		= FPUTS(eH, cSpName + ":" + MESS())
		= FFLUSH(eH)
	ELSE
		= FPUTS(ah, cSpName)
		= FFLUSH(ah)
	ENDIF
	= FFLUSH(h)
ENDFOR
=FCLOSE(aH)
= FPUTS(h, "/******************** Script Ended: " + TTOC(DATETIME()) + "********************/")
= FCLOSE(h)
USE
IF FSEEK(eh, 0, 2) > 0
	= FCLOSE(eh)
	cLogFile = _LOG_PATH + "\" + cAppName + ' Tables Error.log'
	MODI FILE &cLogFile NOWAIT
ELSE
	= FCLOSE(eh)
ENDIF
SET MESSAGE TO
MODI FILE &cScrptName NOWAIT
if type('application') = 'O'
		application.visible = .t. and .f.
endif
IF lRelease
	WAIT WINDOW NOWAIT "Releasing Resources..."
	oSqlSrvr.Disconnect
	osqlsrvr.Close
	RELEASE ALL
	WAIT CLEAR
	ON ERROR
	RETURN
ENDIF
This page was last updated on May 01, 2006 04:28 PM.