image_pdfimage_print

ODBC Mssql connection for php in linux

ODBC MSSQL IN Linux

Hallo pengunjung ribhy yang mungkin punya masalah yang sama dengan saya, pecinta linux dikasih project untuk membuat aplikasi mengunakan php framework tapi database MSSQL dari pecinta jendela. Oke langsung aja deeh, pertama adalah download freetds bisa mengunakan wget, proz, links, lynx 


[root@localhost]# lynx http://downloads.sourceforge.net/project/freetds/OldFiles/freetds-0.61.tar.gz

Next, uncompress, configure and make the FreeTDS driver.

[root@localhost]# tar -xvfz freetds-0.61.tgz -C /usr/local/src
[root@localhost]# cd freetds-0.61
[root@localhost]# ./configure --with-tdsver=7.0 --with-unixodbc

Gunakan sudo -s jika blm menjadi super user ( root )

[root@localhost]# make
[root@localhost]# make install
[root@localhost]# make clean

Jika udah saat testing untuk koneksi ke server

[root@localhost]# /usr/local/bin/tsql -S <mssql.servername.com> -U
<ValidUser>
Password: <password>

Jika berhasil maka akan muncul seperti dibawah ini

1>

Untuk keluar mengunakan ctrl + C

Jika belum berhasil, coba dengan telnet port 1433 sebelumnya gunakan nmap untuk memastikan mssql open port.

[root@localhost]# telnet <mssql.servername.com> 1433

dan jika bisa ditelnet

[root@localhost]# cd /usr/local/etc

From /usr/local/etc/, edit freetds.conf. At the end of this file, add an entry something like this:

[TDS]
        host = mssql.serverhost.com
        port = 1433
        tds version = 7.0
Selanjutnya adalah seting odbc connection

 

Untuk yang mengunakan redhat atau sejenisnya ada settingan odbc di system menu. Dan gunakan settingan berikut ini:

Name: TDS
Description: v0.61 with Protocol v7.0
Driver: /usr/local/lib/libtdsodbc.so
Setup: /usr/lib/libtdsS.so
FileUsage: 1

Rest dapat kosong, click checkmark kemudian klik OK

Name: MSSQLServer
Description: TDS MSSQL (description isn't important)
Servername: mssql.serverhost.com
UID: sa
PWD:
Port: 1433

Jika mengunakan ubuntu, install libmyodbc mengunakan apt-get

[root@localhost]# apt-get install libmyodbc

Kemudian edit odbc.ini

[root@localhost]# vi /etc/odbc.ini

[ODBC Data Sources]
odbcname     = MyODBC 3.51 Driver DSN

[odbcname]
Driver       = /usr/lib/odbc/libmyodbc.so
Description  = MyODBC 3.51 Driver DSN
SERVER       = my.database.server.com
PORT         =
USER         = USER
Password     = XXXXXX
Database     = DBNAME
OPTION       = 3
SOCKET       =

[Default]
Driver       = /usr/local/lib/libmyodbc3.so
Description  = MyODBC 3.51 Driver DSN
SERVER       = localhost
PORT         =
USER         = root
Password     =
Database     = test
OPTION       = 3
SOCKET       =

[TDS]
Driver       = /usr/local/lib/libtdsodbc.so 
Setup        = /usr/lib/libtdsS.so
Description  = freeTDS v0.61 with Protocol v7.0
SERVER       = localhost
PORT         = 1143
USER         = sa
Password     = password
Threading = 1
FileUsage = 1
CPTimeout =
CPReuse =


Untuk mengetest odbc bisa mengunakan

[root@localhost]# isql -v TDS sa password
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> use Northwind
0 rows affected
SQL> SELECT TOP 1 Name from Master
+-------------------------------+
| Name                          |
+-------------------------------+
| Ribhy Keren                   |
+-------------------------------+
1 rows affected
SQL> quit

Untuk PHP code saya mencoba dengan mengunakan code dibawah ini

--- begin odbc_connect.php---
<?
// Koneksi menginakan odbc_connetct
$connect = odbc_connect("TDS", "sa", "password") or die
  ("couldn't connect");
// use database
odbc_exec($connect, "use ribhy_com");
$result = odbc_exec($connect, "SELECT Name, Desc " .
        "FROM master");
while(odbc_fetch_row($result)){
  print(odbc_result($result, "Name") .
        ' ' . odbc_result($result, "Desc") . "<br>\n");
}
// get result & close koneksi
odbc_free_result($result);
odbc_close($connect);
?>
--- end odbc_connect.php --

Selamat mencoba..

Postgresql disable / enable trigger

DISABE / ENABLE PostgreSQL Session trigger

Untuk sementara mendisable PostgreSQL Session dengan query seperti berikut ini

Untuk mengaktifkannya kembali

DISABLE / ENABLE PostgreSQL TABLE
Untuk mengdisable postgresql table trigger tertentu:

Untuk mengaktifkan kembali:

Selamat mencoba.