Berikut adalah sedikit catatan penting saya ketika menyiapkan koneksi mssql dari mesin linux. Skenario yang saya buat adalah mengakses MS-SQLServer 2005 di mesin Microsoft Windows7 (dalam virtualbox) dari mesin Ubuntu-11.10 (seharusnya ubuntu versi lain maupun linux distro lain juga bisa digunakan). Mesin MS-SQLServer2005 mempunyai alamat ip 192.168.56.101 sedangkan mesin linux mempunyai alamat ip 192.168.56.1 yang keduanya diberikan oleh virtualbox (sesuai konfigurasi di virtualbox).

Paket yang harus diinstall di mesin linux:

  • unixodbc
  • unixodbc-dev
  • unixodbc-bin
  • freetds

Cara install paket-paket tersebut di atas tidak saya bahas di artikel ini dan dianggap teman-teman yang baca artikel ini sudah sangat familiar dengan cara instalasi paket di mesin linux.

Lakukan test koneksi ke mssql:

tsql -H 192.168.56.101 -U sa -P password -p 1433

Apabila setelah perintah diatas dieksekusi muncul prompt angka 1 (dan nilainya akan terus bertambah kalau dibiarkan saja) maka atinya koneksi ke MS-SQLServer2005 berhasil dilakukan.

Membuat driver FreeTDS

Dengan membuat driver ini maka FreeTDS bisa digunakan oleh aplikasi lainnya seperti Python atau PHP atau oleh Pentaho. Nah berikut adalah langkah-langkah membuat driver FreeTDS:

a. Masuk ke direktori “/etc/freetds/” lalu buat sebuah file baru dengan nama “mssql.driver”

sudo touch mssql.driver
atau
sudo vim mssql.driver

b. Isikan baris berikut ke dalam file tersebut:

[FreeTDS]
Description = Driver FreeTDS Buatan Mas Juwarto
Driver = /usr/lib/odbc/libtdsodbc.so

c. Selanjutnya kita install driver tersebut. Masih di direktori “/etc/freetds/” jalankan perintah berikut:

sudo odbcinst -i -d -f mssql.driver (Hasilnya akan tersimpan di "/etc/odbcinst.ini")

Membuat data source di ODBC

sudo vim /etc/odbc.ini

Tambahkan baris berikut ini pada bagian paling bawah:

[MySAMPLE]
Driver = FreeTDS
Description = Koneksi ODBC ke Database SAMPLE di MS-SQLServer2005
Trace = No
Server = 192.168.56.101
Port = 1433
Database = SAMPLE

Simpan hasil edit di atas, dan lakukan tes koneksi :

isql -v MySAMPLE sa password

Kalau tidak ada error dan keluar prompt SQL> maka berarti anda sudah berhasil masuk di lingkungan query editor MS-SQLserver2005.

Konfigurasi di mesin Windows7

Jangan lupa konfigurasi firewall agar mengizinkan akses port 1433 (Network Configuration – Firewall – Advance – InbondRules – New Rule).
Pastikan sqlserver bisa diakses via TCP pada port 1433 dan gunakan dynamic port (beri nilai 0, secara default nilainya adalah blank).

Catatan

Apabila ingin merekam log freetds agar dapat digunakan untuk melakukan evaluasi jika terjadi error, jangan lupa tambahkan dua baris berikut dalam file “/etc/freetds/freetds.conf” :

dump file = /tmp/freetds.log dump file append = yes

Untuk membaca file log tersebut gunakan perintah:

 tail -f /tmp/freetds.log

Selamat mencoba, jangan lupa berbagi ilmu dan pengalaman.

Tinggalkan Balasan