Friday, May 2, 2008

แก้ปัญหา ODBC connection

วันนี้ผมต้องคิดหาวิธีการติดต่อฐานข้อมูล Sybase โดยไม่ต้องลงทะเบียน ODBC ทางออกของผมคือ google (ไม่ใช่ yahoo หรือ msn ฮา)

และผมก็พบกับ http://www.databasejournal.com/features/mssql/article.php/1491051 มันเป็นแสงสว่างรำไรของผมเลยทีเดียว

ในนั้นเขาพูดถึงปัญหาของการใช้ ODBC (ซึ่งบางครั้งก็เลี่ยงไม่ได้) ต่างๆ เช่น หากเครื่อง PC มีหลายพันเครื่อง คุณต้องตายแน่ๆ แต่เขาได้เสนอทางออกไว้ 4 ทาง คือ
1. เขียน ConnectionString โดยอ้างถึง DSN ไฟล์
เช่น dim cnstr as string = "FILEDSN=c:\myDsn.dsn"
วิธีการสร้าง dsn ก็แสนง่ายสามารถสร้างได้ใน ODBC Data Source Administrator ได้เลยครับ

2. เขียนโค้ดเพื่อสร้าง registry เอง ข้อนี้ยุ่งยากไป ผมขี้เกียจ

3. ทำการ export จาก registry จาก HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ และ HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources จะได้ไฟล์ reg แล้วก็เอาไปติดตั้งที่เครื่อง client

4. เขียน Windows Scripting Host เพื่อติดตั้ง ODBC ข้อนี้ผมไม่ถนัด กรุณาอ่านเองนะ (อิอิ)

5. ใช้ DSN-Less Connection ข้อนี้แหละที่ผมปิ้ง Idea ทันที

ผมเอาข้อ 1 และ ข้อ 5 มารวมกันโดยเมื่อผมได้สร้าง dsn ไฟล์ขึ้นมาแล้ว ผมก็จัดการเปิดมันด้วย notepad แล้วเอา script มันมาใส่เป็น connectionString ซะเลย 555+ ปรากฏว่ามันเวิร์คครับ

ผมเล่าให้ฟังเท่านั้น ถ้าใครสนใจกรุณาอีเมลล์มาถามนะ ไม่มีเวลาเขียนรายละเอียดตอนนี้และหากเขียนไปกลัวจะไม่มีใครอ่าน เหอ เหอ เหอ

1 comment:

Anonymous said...

ดีมากๆเลยค่ะ
เป็นประโยชน์มากๆเลย