เชื่อมต่อเข้า MS SQL Server จากลีนุกซ์ด้วย freetds

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

ข้อมูลอ้างอิง

1 thought on “เชื่อมต่อเข้า MS SQL Server จากลีนุกซ์ด้วย freetds”

  1. connect ด้วย freetds ผ่าน แต่พอใช้ mssql_connect();
    ติดต่อไม่ได้ ต้องทำไงต่อครับ ขอคำแนะนำด้วยครับ กำลังศึกษา

Leave a Reply