Environment variable คืออะไร
Environment Variable คือตัวแปรกลางที่กำหนดขึ้นมาเพื่อให้เรียกใช้ได้ในทุกๆ job ของ project หรือ ทุกๆ job ใน server
ประโยชน์ของ Environment variable
เวลาแก้ค่า Default value ของมัน เราสามารถแก้แค่ที่เดียวมันก็ effect ทุก job ที่เรียกใช้มัน ไม่ต้องไปไล่ตามแก้ทุก job เช่น กรณีชื่อ user ทำที่ออฟฟิศเราใช้ etluser แต่พอไปที่กรมฯ เค้าใช้ etl01 เป็นต้น
สรุป ข้อดีของมันคือ แก้ค่า default value ใน DataStage Admin ที่เดียวพอ ไม่ต้องไปตามแก้ทุก job
การสร้าง Environment Variable
สามารถทำได้ 3 ทางคือ
1) ผ่านทาง DataStage Designer
2) ผ่านทาง DataStage Admoinistrator
3) Edit file DSParams
หลังจากที่ทำด้วยวิธีข้อ1 และ 2 แล้วไฟล์ /opt/IBM/InformationServer/Server/Projects/[Project Name]/DSParams จะถูก update ตามตัวอย่างนี้
**ส่วนนี้แสดงชื่อ variable, type, prompt
[EnvVarDefns]
TestEnvVar\User Defined\-1\String\\0\Project\Testing Environment Variable\
TestEnvVarDesigner\User Defined\-1\String\\0\Project\Create from Designer\
DB2INSTANCE\User Defined\-1\String\\0\Project\DB2 Instance Name\
**ส่วนนี้แสดง default value
[EnvVarValues]
"TestEnvVar"\1\"XYZ"
Special Value for Environment Variables
เมื่อเรารัน job เราสามารถกำหนดค่าให้ environment variable ได้เอง หรือใช้ค่าพิเศษ 3 ค่าคือ
- $ENV เป็นการเรียกเอาค่าของตัวแปรดังกล่าวที่กำหนดไว้ใน dsenv ขึ้นมาใช้ ค่าตัวแปรนี้จึงสามารถใช้ได้ทั้ง server
- $PROJDEF เป็นการเรียกเอาค่าของตัวแปรดังกล่าวที่กำหนดไว้ใน DSParams ขึ้นมาใช้ ค่าตัวแปรนี้จึงสามารถใช้ได้ทั้ง project การเปลี่ยนแปลงค่าสามารถทำได้ผ่าน Administrator และ job จะดึงค่าใหม่ไปใช้ทันทีโดยที่ไม่ต้อง compile job ใหม่
- $UNSET เป็นการบังคับว่าเราไม่ต้องการ set ค่า environment variable นี้
การเรียกใช้ Environment variable ใน job
จาก DataStage Designer
- ไปที่ Job parameter > เวลาเรียกใช้ต้องมี $ นำหน้าชื่อตัวแปร
- กำหนด Default value = $PROJDEF
- เวลาเอาไปใช้ใน job ก็อ้างเหมือนปกติคือต้องมี # คร่อม