|
Archives of the TeradataForumMessage Posted: Wed, 01 Dec 2010 @ 10:13:00 GMT
Hi Ralph, The answer would be to eliminate any reliance on a ".RUN FILE" statement. You could use a bteq execution framework (common module) and pass the parameter as a part of a multi-line" SQL Statement. Mine is based on a Korn Shell script (see below). I think the two .export portions can be left out for your purposes. Alternatively, the output file could be scrubbed/searched for output/messages if required. If you make use of an export file, you need to ensure a random/unique filename if there is going to be execution concurrency. Keep in mind, you would need to put the "SET QUERY BAND" statement into a variable, prior to executing the statement contained in the variable. In this case, your SQL Query/statements could be put into a multiline variable, as such: MY_SQL_STATEMENT=`echo " SET QUERY_BAND = 'UNISON_SCHED=${UNISON_SCHED};' FOR session;\n"${MY_SQL_QUERY};"` Then: execbteq.ksh "${DBCONNECT}" "${USERNAME}" "${MYPASSWD}" "${MY_SQL_STATEMENT}" "${MY_OPTIONAL_EXPORT_FILE}" Here is the Korn Shell Script: #*************************************************************************** #*************************************************************************** #*************************************************************************** #*************************************************************************** #*************************************************************************** #!/usr/bin/ksh ############################################################################ ### ### ScriptName: execbteq.ksh ### ### Created: Etienne Stieger 2006-10-31 ### Updated: Etienne Stieger 2006-11-01 ### ############################################################################ ### Description: Acts as a low-level wrapper for executing SQL via bteq. ### The export file is purely for capturing data output from "select" statements. #. ${HOME}/.profile ### $1 = Connect String (for example dbc/, ml1/, etc - or empty string ""'" or '')"' ### $2 = UID ### $3 = PWD ### $4 = SQL Statement ### $5 = Export file name bteq << EOF .quiet on .logon ${1}${2},${3}; .titledashes off .echoreq off .export file = '${5}',close ${4} .export reset .exit EOF RC=${?} exit ${RC} #*************************************************************************** #*************************************************************************** #*************************************************************************** #*************************************************************************** #*************************************************************************** Kind regards Etienne Stieger
| ||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||
Copyright 2016 - All Rights Reserved | ||||||||||||||||||||||||||||||||||||||||||||||||
Last Modified: 15 Jun 2023 | ||||||||||||||||||||||||||||||||||||||||||||||||