Archive for : Februari, 2012

Mudah Koneksi ke MS-SQLServer dari Linux

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
  • freetds-dev
  • freetds-bin
  • tdsodbc

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

# 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.