Skip to content

Koneksi MSSQL Server 2005 Dari Ubuntu

May 18, 2010

Dalam rangka membantu teman kantor membangun aplikasi baru, rencananya saya mo development modul tambahannya menggunakan PHP dengan database MSSQL Server 2005. Untuk persiapan, terpaksa hari libur gini ngoprek ubuntu. Saya maunya mendevelop PHP di mesin linux dan databasenya di lingkungan WindowsXP yang running dalam virtualbox. Saat ini saya pake ubuntu 10.04 LTS dan virtualbox OSE versi 3.1.6 (mestinya juga bisa dilakukan dengan lancar di distro linux lainnya dan virtualbox apa saja).

Terima kasih buat Mas Arman atas sarannya menggunakan FreeTDS (namun mohon maaf file-file petunjuk yang kemaren dikopikan ternyata hilang, terpaksa harus gogling beberapa lama). Terima kasih juga buat yang punya situs “http://www.teoteblung.co.cc/” atas artikelnya tentang cara mengakses mssql dari linux ubuntu (meskipun ternyata ada beberapa langkah yang tidak pas, alhamdulillah dengan sedikit modifikasi akhirnya berhasil juga).

Waduh, sudah jam 00:49 ngantux beraat. Tapi sayang kalau ditunda nulis catatan penting ini. Takut lupa lagi jurus-jurus jitunya😉

Oke, berikut ini catatan penting saya ketika menyiapkan koneksi mssql dari linux ubuntu 10.04LTS :

  • Install unixodbc dan development package-nya. Bisa dilakukan dengan mudah menggunakan Synaptic Package Manager, atau menggunakan cara kuno seperti ini :
sudo apt-get install unixodbc unixodbc-dev
  • Install FreeTDS. Terserah mo pake cara mudah (Synaptic Package Manager) atau cara kuno seperti ini :
a. Download paket freetds-stable.tgz dari situsnya (maaf saya lupa, silahkan tanya mbah gugel).
b. Ekstrak file hasil download :
     tar zxvf freetds-stable.tgz
c. Lakukan configure dan install di directory fretds
     ./configure with-tdsver=7.0
     make
d. Install freetds jika tidak ada error :
     sudo make install
  • Lakukan test koneksi ke mssql dengan perintah :
tsql -H <ip-mssql-server> -U sa -P password -p 1433

Ubah <ip-mssql> dgn ip server anda dan port server jika tidak menggunakan 1433.
Setelah perintah diatas dieksekusi dan muncul prompt 1> maka anda sudah sukses terhubung ke mssql server.

  • Membuat konfigurasi di unixodbc sehingga bisa kita gunakan menggunakan aplikasi programming lainnya seperti Python atau PHP.

a. Buat driver dahulu dengan cara membuat file dengan isi file seperti berikut :

[FreeTDS]
Description = versi 7.0 dengan protocol 4.2
Driver = /usr/lib/odbc/libtdsodbc.so

Lokasi “libtdsodbc.so” bisa dicari dengan perintah “sudo locate libtdsodbc” kalau tidak tahu tempatnya.
Simpan file tersebut dengan nama “mssql.driver”

b. Selanjutnya kita install dengan perintah sebagai berikut :

sudo odbcinst -i -d -f mssql.driver

Hasil perintah di atas akan tersimpan di “/etc/odbcinst.ini”

  • Langkah terakhir adalah membuat data source di odbc dengan cara :
sudo vim /etc/odbc.ini

Kemudian tambahkan baris berikut ini :

[MyHPD]
Driver = FreeTDS
Description = Koneksi ODBC ke Database HPD di MSSQL Server 2005
Trace = No
Server = 192.168.56.101  (alamat ip server mssql)
Port = 1433  (port standardnya mssql server)
Database = hpd

Simpan hasil edit di atas, dan lakukan tes koneksi :

isql -v MyHPD sa password

Kalau tidak ada error dan keluar prompt SQL> maka anda sudah masuk di lingkungan query editor mssql server.

Selamat mencoba, jangan lupa berbagi ilmu dan pengalaman.

From → Iptek, Opini, Renungan

6 Comments
  1. bodrex permalink

    Trims. nanya dikit lagi. penggunaan di lingkungan php nya bagaimana ya ???

  2. Yun Faisal permalink

    mohon petunjuk mas.. semua petunjuk yg mas berikan di atas sdh saya lakukan dan berhasil, keluar prompt SQL> . tapi ketika menjalankan perintah query tidak bisa, muncul pesan error sprt dibawah ini.

    +—————————————+
    | Connected! |
    | |
    | sql-statement |
    | help [tablename] |
    | quit |
    | |
    +—————————————+
    SQL> SELECT * FROM clinic;
    [01000][unixODBC][FreeTDS][SQL Server]Unexpected EOF from the server
    [ISQL]ERROR: Could not SQLExecute
    SQL> SELECT * FROM clinic;
    [08S01][unixODBC][FreeTDS][SQL Server]Communication link failure
    [ISQL]ERROR: Could not SQLExecute
    SQL>

    terima kasih atas bantuannya mas.. kalau saya tanya2 lagi jgn bosan ya mas..

    hormat saya,

    faisal

    • Kalau dah muncul SQL prompt berarti koneksi ga masalah. tidak bisa select itu masalah di sql-nya. mungkin anda login dengan user yang tidak punya hak select atau table clinic tidak diijinkan diakses oleh user yang anda gunakan. pada prinsipnya, kalo dah bisa SQL prompt berarti sudah bisa menggunakan sintaks-sintaks sql sebaimana pada umumnya. cmiiw.

  3. noel.dejavu permalink

    Mas saya baru coba instal FreeTDS di ubuntu 8.04
    Proses install lancar tanpa kendala..
    cupan pas coba koneksi ko gagal yach?
    setetalah masukin password trus muncul tulisan ini :
    Msg 20009, Level 9, State -1, Server OpenClient, Line -1
    Unable to connect: Adaptive Server is unavailable or does not exist
    There was a problem connecting to the server

    kira-kira masalahnya dimana mas?

    Terima kasih

  4. riyan apri permalink

    assalamualaikum,,

    maaf nih newbi mau tanya pak,,

    itu untuk dsnnamenya ngambil yg mana ya??

    MyHPD ya pak??

    saya pake perintah gni di php untuk koneksi,,

    $dsn=”MyHPD”;
    $username=”sa”;
    $password=”password”
    $buka=odbc_connect($dsn,$username,$password);

    tapi ko ga bisa ya pak??

    padahal dah ==> isql -v MyHPD sa password,,

    bisa connect,,

    mohon pencerahannya pak,,

    terima kasih,,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: