ในที่สุด ก็รอไม่ไหว หันไปหาทางเลือกอื่น
นั่นคือ ช่องทาง ODBC
solution ก็คือ
- unixODBC
 อันนี้ไม่มีอะไรพิเศษ ติดตั้งได้จากพวก Package Manager ของ Distro ได้เลย
 ประเด็นถัดมา ก็คือการสร้าง datasource
 ถ้าสร้างด้วยมือ ดูจะโหดร้ายไปหน่อย
 ingres ก็เลยเตรียม utility ที่ชื่อiiodbcadmn 
- Ruby ODBC
 ตัวนี้มีปัญหานิดหน่อย
 ตรงวิธีที่เขาเขียน
 เนื่องจากเขาเขียนโดยอิง mysql เป็นหลัก
 พอมาใช้กับ database ตัวอื่น ก็อาจจะเป็นปัญหาบ้าง
 ในกรณีของ ingres ถ้าลอง build แล้ว run testcase ดูจะพบ error นี้[pphetra@fedora ruby-odbc-0.9991]$ ruby test.rb sso 
 connect.............ok
 create_table........ok
 insert.............../test/20insert.rb:6:in `call': 37000 (2913)
 [unixODBC][Ingres][Ingres ODBC Driver][Ingres]line 1, You cannot assign
 a value of type 'varchar' to a column of type 'integer'.
 Explicitly convert the value to the required type. (ODBC::Error)
 from ./test/20insert.rb:6
 from test.rb:20
 from test.rb:16
 ถ้าเข้าไปดูใน testcase จะเห็น code ที่มีปัญหา หน้าตาเป็นแบบนี้$p = $c.proc("insert into test (id, str) values (?, ?)") {} 
 $p.call(3, 'FOO')
 ประเด็นที่เป็นปัญหา ก็คือวิธีที่ใช้ในการ binding parameter เข้ากับ statement
 หลังจากไล่ source code ของ ruby-odbc ซักพัก ผมก็เจอจุด quickfix
 ก็เลยแก้ง่ายๆลงไป@@ -6265,6 +6266,7 @@ 
 if (coldef == 0) {
 switch (ctype) {
 case SQL_C_LONG:
 + stype = SQL_NUMERIC;
 coldef = 10;
 break;
 case SQL_C_DOUBLE:
- Ruby DBI
 ตัวนี้ไม่มีอะไรพิเศษ
 ผมเลือกลงแต่ dbd ที่ต่อเข้า ODBC อย่างเดียว
ขั้นตอนถัดไป ระหว่างรอให้มี ODBC Adapter(สำหรับ rails) ดีๆออกมา
ก็จะทดลองเขียน rails adapter ที่ต่อเข้ากับ ruby dbi ไปพลางๆก่อน
(ใช้ตัวอย่างจาก sqlserver adapter ที่มี mode ที่ใช้ odbc ด้วย)

