Linux üzerinden MsSQL sunuculara bağlanmak ve sorgu yapmak için birçok uygulama mevcut.
CentOS 6.4 64-bit için yaptığım bu örnekte FreeTDS isimli paketi kullandım. Bu paket CentOS'un varsayılan repolarında derlenmiş olarak bulunmuyor. Bu nedenle EPEL repolarından faydalanıyoruz.
Bkz: https://fedoraproject.org/wiki/EPEL
Bkz: http://www.freetds.org/
Bkz: http://www.centos.org/
wget http://mirror.vit.com.tr/mirror/Epel/6/i386/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm
yum install -y freetds
Yukarıdaki işlemlerden sonra makinemize EPEL repolarını eklemiş ve FreeTDS sistemimize kurmuş oluyoruz.
#!/bin/bash
//read last 10 record from mssql server
RECS=$(echo "USE dbname GO select id from schema.tableA order by id desc limit 10 exit"| TDSVER=8.0 tsql -H servername -p 1433 -D dbname -U domain\\Administrator -P password|tail -n 10);
//write to mysql db
for i in $RECS
do
echo "INSERT INTO tableB (data) VALUES ('$i');"|mysql -u user -p[pass] -h host dbname
done
Bu örnekte uzaktaki bir MsSQL sunucusuna bağlanarak tableA tablosundaki son 10 kaydın idlerini alarak yine uzaktaki bir MySQL sunucusunun tableB tablosuna yazıyor.