Jul 22, 2012

ASP 3.0 connect ODBC Oracle

วิธีการทำให้ ASP Classic (3.0) หรือบางคนจะเรียก VB Script ก็แล้วแต่
สามารถติดต่อกับฐานข้อมูล Oracle ผ่าน ODBC ได้
เนื่องจากผมติดปัญหาและไม่ค่อยชำนาญในการใช้ ASP นัก
จึงได้เขียนเรื่องราวบอกเล่าวิธีการแก้ปัญหาไว้
เพื่อจะได้กลับมาอ่านใหม่ในโอกาศข้างหน้า

ทั้งนี้บริษัทปัจจุบันที่ผมทำงานอยู่ ผู้พัฒนาคนเก่าใช้ ASP เป็นหลัก
พัฒนามาเกือบสิบปี ในหลายๆ ชิ้นงาน ทำให้ผมจำเป็นต้องศึกษาเพิ่ม
แม้ว่าจะเป็นภาษาที่น่าจะตายไปนานหลายปีแล้ว
และก็เป็นการตอกย้ำให้นักพัฒนาสายจาวา (JAVA) อย่างผม
ตระหนักเข้าไปอีกว่า ภาษาโปรแกรมจากฝั่ง Microsoft ไม่เหมาะแก่การ
พัฒนาในระยะยาว เพราะระยะ MA แสนสั้น ไม่คุ้มเสี่ยงกับการต่อยอดเลยจริงๆ

ปัญหาที่ผมพบคือ Server ซึ่งติดตั้งไว้มีปัญหาเข้าระบบปฏิบัติการไม่ได้
เนื่องจากมีไฟล์บางตัวของระบบปฏิบัติการเสียหาย จึงต้องติดตั้งเครื่องใหม่
สิ่งที่กู้คืนกลับมาได้มีเพียงไฟล์ Source code กับ Databases บางตัวเท่านั้น
สำหรับเว็บไซด์ตัวนี้ มี Connection ต่อกับ DSN ซึ่งเป็น ODBC ของ Oracle
จึงแก้ปัญหาดังนี้

1. ติดตั้ง Oracle Client ไว้ยังเครื่อง Server ที่จะใช้ทำ Web Server
ODAC 11.2 Release 4 (11.2.0.3.0) with Oracle Developer Tools for Visual Studio
http://www.oracle.com/technetwork/developer-tools/visual-studio/downloads/index.html

2. Add Config DSN เข้าไปที่ System DSN
http://www.thaicreate.com/tutorial/oracle-dsn-odbc.html

3. อาจจะมีปัญหาเรื่อง TNS Name

3.1 เข้าไปแก้ไขไฟล์ที่ Path ประมาณนี้
ไฟล์ตัวอย่างจาก C:\app\Administrator\product\11.1.0\db_1\network\admin\simple\tnsnames.ora
แก้ไขข้อมูลจะได้ประมาณนี้ (ที่เป็นข้อความเอียงขีดเส้นใต้และตัวหนาคือค่าที่ต้องกำหนดเอง)
------------------------------------------------------------------------------------

ServiceNameSimple =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME =  ServiceNameSimple )
    )
  )

------------------------------------------------------------------------------------

3.2 แก้ไขเสร็จวางไว้ที่  C:\app\Administrator\product\11.1.0\db_1\network\admin\tnsnames.ora

3.3 หลังจากนั้นลอง Connect System DSN ที่ ODBC ดูใหม่ จะสามารถเข้าใช้งานได้

ปล. ระวังในตอนกรอกข้อมูลใน System DSN ตรงที่เป็น TNS Service Name 
ต้องตรงกับ ServiceNameSimple คล้ายๆ ตัวอย่าง

Blog Comment

บทความที่ได้รับความนิยม