OdiSqlUnload is a great utility for unloading but then we need to hardcoded and provide the parameters of the username and password which can change in the Other Environment in ( Testing , UAT or Prod ) . Here is a small trick to handle that situation.
In the Command on Source, Select the Required Technology and Schema name .
Copy the Syntax of the OdiSqlUnload into an ODI procedure into Command on Target with Sunopsis API as the Technology
OdiSqlUnload “-FILE=” “-DRIVER=<%=odiRef.getInfo(“SRC_JAVA_DRIVER”)%>” “-URL=<%=odiRef.getInfo(“SRC_JAVA_URL”)%>” “-USER=<%=odiRef.getInfo(“SRC_USER_NAME”)%>” “-PASS=<%=odiRef.getInfo(“SRC_ENCODED_PASS”)%>” “-FILE_FORMAT=VARIABLE” “-FIELD_SEP=,” “-ROW_SEP=rn” “-DATE_FORMAT=yyyy/MM/dd HH:mm:ss” “-CHARSET_ENCODING=ISO8859_1” “-XML_CHARSET_ENCODING=ISO-8859-1” “-FETCH_SIZE=5000” “-QUERY=select * from QUERY”
This way ODI will automatically get the parameters from the topology and also use the Fetch_Size 5000 for good performance .
Also look into this post for generating header in OdiSqlUnload – http://odiexperts.com/?p=1845
Just a small trick . Look for more ideas at odiexperts.com