การเขียน ASP เชื่อมต่อกับ Database Oracle
การเขียน ASP เพื่อเรียกดูข้อมูลจาก Oracle นั้นอาจจะไม่เหมือนการเขียนทั่วไป ซึ่งตอนลงแรกๆ อาจจะมีปัญหาเรื่องความเข้าใจ และ วิธีการเขียน เลยมาเขียนเอาไว้กันลืม บางทีเผื่อมีใครต้องการเขียนแล้วติดปัญหาเหมือนกัน
สิ่งที่ต้องทำ
1. ลง Oracle เสียก่อน เพื่อใช้ ODBC ของ Oracle และ Net Manager


2. Set Net Manager เพื่อทำการชี้ไปที่ Service Name ใน Oracle Server ของเรา (ของผม Database กับ Webserver มันคนละตัวกัน)

3. Set Odbc ให้ชี้ไปยัง Service Name ที่เราตั้งไว้

ในกรณีที่ลง Oracle Database Utility ชื่อ Driver Name ของ ODBC จะเป็น Oracle in OraHome92
4. เขียน Code ASP เพื่อเชื่อมต่อ Database
set oraconn = server.createobject("ADODB.Connection")connString = "UID=username;PWD=password;DSN=ชื่อ ODBC ที่ตั้งไว้;"
oraconn.open = connStringset orars = server.createObject("ADODB.recordset")
orars.CursorLocation = 3 ' ใช้เพื่อในเวลาใช้ Recordcount แล้ว ไม่ return ค่ามาเป็น -1
orars.CursorType = 3 ' ใช้เพื่อในเวลาใช้ Recordcount แล้ว ไม่ return ค่ามาเป็น -1
5. Set Permission ใน ora92 ให้ IUSER_COMPUTERNAME สามารถทำการอ่านเขียนได้

เมื่อทำตามขั้นตอนดังกล่าวแล้วอาจจะเกิด Error ใน Code ASP ดังนี้
Microsoft OLE DB Provider for ODBC Drivers (0×80004005)
[[Microsoft]][[ODBC Driver Manager]] Driver’s SQLAllocHandle on SQL_HANDLE_ENV failed
อันนี้เกิดจากการ Oracle แล้ว แต่ว่า ใน Path ยังไม่มี ORACLE_HOME/bin อยู่ใน PATH (ของ Windows System) ให้ทำการ Logoff ออกก่อน แล้ว Login เข้ามาให้ Path จะขึ้นโดยอัตโนมัติ
error:[[Microsoft]][[ODBC Driver Manager]] Specified driver could not be loaded due to system error 5;
อันนี้เกิดจากการ ยังไม่ได้ Set Permission ใน การอ่านเขียน ใน Oracle_HOME/bin
หมายเหตุ
+ ผมใช้ Oracle9i , ASP บน Windows XP
+ ORACLE_HOME เป็น Root ในการติดตั้ง Oracle โดย Default แล้ว จะอยู่ที่ c:/oracle/ora92 (Oracle9i)
+ Windows XP จะไม่มี Tab Security ใน Folder Option ต้องยกเลิกการใช้ Simple File Sharing เสียก่อน (ถ้าจำไม่ผิด ต้องไม่ใช้ FAT32 อีกต่างหาก)

+ ผิดพลาดประการใดขออภัยครับ





เยี่ยมเลยครับ ผมมีปัญหาเรื่องนี้อยู่มานานมาก พยายามหาข้อมูลอยู่ มาเจอที่คุณโพสท์ไว้นี้ เคลียร์ๆ เลยครับ เดี๋ยวขอลองไปจัดการตามคำแนะนำก่อนนะครับ ขอบคุณมากๆ ครับ
ติดปัญหาอะไรลองสอบถามมาได้เลยนะคัพ ^^
แล้วปัญหานี้ล่ะนครับ ทำแล้วเป็นแบบนี้อ่ะครับ
Microsoft OLE DB Provider for ODBC Drivers (0×80004005)
[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
อันนี้ด้วยครับ ทำไมไม่ได้ซักที มันต้องเซตสิ่งแวดล้อมอะไรอื่นๆ ด้วยเหรอป่าวครับ
Microsoft OLE DB Provider for ODBC Drivers (0×80004005)
Specified driver could not be loaded due to system error 998 (Oracle in OraHome92).