ThaiPBL.com

PowerBuilder Library Thailand

อีเมล พิมพ์ PDF

วิธีการติดต่อกับ ODBC โดยใช้ DSN

สวัสดีครับ หลังจากที่ทราบวิธีการติดต่อกับ ODBC โดยใช้ DSN กันแล้ว คราวนี้เราก็มาต่อกันในเรื่องของ Database Profile กัน

Database Profile ก็คือ การกำหนดรูปแบบในการติดต่อกับ ดาต้าเบส โดยจะใช้งานร่วมกับ ODBC หรือ Native driver ก็ได้ รายละเอียดที่เรากำหนดใน database profile นี้จะถูกบันทึกลงในไฟล์ชื่อ PB.INI ซึ่งทาง PB จะนำเอารายละเอียดที่ถูกบันทึกใว้มาใช้ประโยชน์ในด้านต่างๆ

การกำหนดค่าของ database profile นั้นมีมากพอสมควรแต่เราจะมาศึกษาในส่วนที่จำเป็นก่อนก็แล้วกัน สำหรับหน้าตาก็เป็นดังรูปด้านล่างนี้


ไฟล์ภาพ/ข้อมูล ---> ถูกแสดงอยู่



Profile Name ก็คือชื่อของ profile ที่เราต้องการ
Data Source ก็คือชื่อของ database ที่เราต้องการติดต่อด้วย
User ID กับ Password ก็คือชื่อและรหัสผ่านในการติดต่อกับ ดาต้าเบส
ต่อมาให้คลิกที่ Preview tab เราจะเห็นค่าต่างๆที่เรากำหนดเอาใว้แล้วเราสามารถที่จะ copy ตรงส่วนนี้ไปใว้ใน สคริปต์ในส่วนของ open application เพื่อทำการติดต่อกับ ดาต้าเบส ได้เลย

 
ไฟล์ภาพ/ข้อมูล ---> ถูกแสดงอยู่


// Profile School
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "Connectstring='DSN=School'"
connect using Sqlca;
If Sqlca.Sqlcode 0 then
    Messagebox("ติดต่อกับ ดาต้าเบสไม่ได้",Sqlca.SqlErrText)
    Return
End if
จากสคริปต์ด้านบนนี้เราจะวางเอาใว้ที่ Open event ของ Application เพื่อทำการติดต่อกับ ดาต้าเบส แต่วิธีดังกล่าวจะไม่ยืดหยุ่นเท่าทีควรทางที่ดีเราควรจะทำการกำหนดค่าต่างๆลงในไฟล์ INI ก่อน เพื่อสะดวกต่อการแก้ไขค่าต่างๆ
string         startupfile
startupfile = "c:governsc.ini"
sqlca.DBMS = ProfileString (startupfile, "database", "dbms", "")
sqlca.database = ProfileString (startupfile, "database", "database", "")
sqlca.userid = ProfileString (startupfile, "database", "userid", "")
sqlca.dbpass = ProfileString (startupfile, "database", "dbpass", "")
sqlca.logid = ProfileString (startupfile, "database", "logid", "")
sqlca.logpass = ProfileString (startupfile, "database", "LogPassWord", "")
sqlca.servername = ProfileString (startupfile, "database", "servername", "")
sqlca.dbparm = ProfileString (startupfile, "database", "dbparm", "")
connect;

if sqlca.sqlcode 0 then
    MessageBox ("ติดต่อกับ ฐานข้อมูลไม่ได้", sqlca.sqlerrtext)
    return
end if
จากสคริปต์ด้านบนนี้จะเป็นอีกตัวอย่างในการติดต่อกับ ดาต้าเบส ซึ่งจะมีการอ่านค่าต่างๆมาจากไฟล์ startup.ini ซึ่งเมื่อมีการแก้ไขค่าต่างๆเราก็แค่เข้าไปแก้ในไฟล์ startup.ini

จาก www.soopsawat.com