FreeTDS เป็นชุดโปรแกรมที่สามารถรันบนลีนุกซ์หรือยูนิกส์ เพื่อเชื่อมต่อเข้าฐานข้อมูล Sybase หรือ Microsoft SQL Server ได้
โดยจะมีคำสั่ง fisql คล้ายกับคำสั่ง isql ให้ใช้งานส่งคำสั่ง SQL แทน
ก่อนอื่นเราต้องติดตั้ง freetds ในที่นี้จะทดสอบบน CentOS 6
ลอง yum ติดตั้ง freetds
[root@cent6 ~]# yum install freetds Loaded plugins: fastestmirror, security Loading mirror speeds from cached hostfile * base: mirror1.ku.ac.th * extras: mirror.siamdata.co.th * updates: ftp.cuhk.edu.hk Setting up Install Process No package freetds available. Error: Nothing to do
yum ไม่สามารถหาแพ็คเกจ freetds ได้ ต้องติดตั้ง EPEL repo เพิ่มเติม ดูวิธีการติดตั้ง EPEL repo ได้ที่ yum แพ็คเกจบน CentOS 6 ได้มากขึ้นด้วย EPEL
หลังติดตั้ง EPEL แล้ว ลอง yum ใหม่อีกครั้ง
[root@cent6 ~]# yum install freetds Loaded plugins: fastestmirror, security Loading mirror speeds from cached hostfile * base: mirror1.ku.ac.th * epel: mirrors.thzhost.com * extras: mirror1.ku.ac.th * updates: centosv4.centos.org Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package freetds.x86_64 0:0.91-2.el6 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: freetds x86_64 0.91-2.el6 epel 568 k Transaction Summary ================================================================================ Install 1 Package(s) Total download size: 568 k Installed size: 2.6 M Is this ok [y/N]: y Downloading Packages: freetds-0.91-2.el6.x86_64.rpm | 568 kB 00:00 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : freetds-0.91-2.el6.x86_64 1/1 Verifying : freetds-0.91-2.el6.x86_64 1/1 Installed: freetds.x86_64 0:0.91-2.el6 Complete!
เมื่อติดตั้ง freetds เสร็จเรียบร้อยแล้ว เราก็สามารถใช้คำสั่ง fisql เพื่อเชื่อมต่อเข้ากับ MS SQL Server ได้
ออปชั่นการใช้งานคำสั่ง fisql
- -S ระบุ IP ของ SQL Server ที่ต้องการเชื่อมต่อ
- -U ระบุ login หรือ username ที่ใช้เชื่อมต่อ
- -P ระบุรหัส หรือ password ที่ใช้ (แนะนำให้ใส่ตอนที่มีการถาม Password ดีกว่า)
ตัวอย่างการใช้คำสั่ง fisql เชื่อมต่อเข้ากับ SQL Server 192.168.1.10
[user1@cent6 ~]$ fisql -S 192.168.1.10 -U sa Password: 1>>
หากล็อกอินถูกต้อง จะขึ้นพร้อมต์ให้พิมพ์คำสั่ง SQL ได้ ตัวอย่างเช่น
1>> SELECT @@VERSION 2>> go ---------------------------------------------------------------------------------------- Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64) Apr 2 2010 15:48:46 Copyright (c) Microsoft Corporation Enterprise Evaluation Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (1 rows affected) 1>>
ตัวอย่างข้างบนเป็นการส่งคำสั่ง SELECT @@VERSION เพื่อให้แสดงเวอร์ชั่นของ SQL Server
ต้องพิมพ์ go เพื่อให้เริ่มรันคำสั่ง SQL ที่พิมพ์ไป
พิมพ์คำสั่ง quit เพื่อออกจาก fisql
1>> quit
connect ด้วย freetds ผ่าน แต่พอใช้ mssql_connect();
ติดต่อไม่ได้ ต้องทำไงต่อครับ ขอคำแนะนำด้วยครับ กำลังศึกษา