21 October 2008

Environment Variable

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

 ds_envparam1

2) ผ่านทาง DataStage Admoinistrator

 ds_envparam2

ds_envparam3

ds_envparam4

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

  1. ไปที่ Job parameter > เวลาเรียกใช้ต้องมี $ นำหน้าชื่อตัวแปร
  2. กำหนด Default value = $PROJDEF
  3. เวลาเอาไปใช้ใน job ก็อ้างเหมือนปกติคือต้องมี # คร่อม

No comments: