Centos 7.7 (1908) de MSSQL baglatisi icin FreeTDS, ODBC kurulumu ve Php 5.4 ile baglantinin saglanmasi.

1 – “yum -y update” ile güncelleme yapalım.

2 – ” yum -y install php-odbc php-pdo unixODBC unixODBC-devel” ile odbc paketlerini kuralım.

3 – Aşağıdaki komutlarla epel ve freetds kuralım;

yum install epel-release
yum check-update
yum install freetds freetds-devel

4 – “/etc/freetds.conf” dosyasını açıp en alta aşağıdaki kodu yapıştıralım;

# Mssql server
[mssql_server]
host = 192.168.1.XXX
port = 1433
tds version = 7.4

5 – Bağlanacağımız sql server ile bağlantımızın olup olmadığını telnet ile kontrol etmekte fayda var;

“telnet 192.168.1.XXX 1433” yazdığımızda servera bağlantı yapabiliyorsak devam ediyoruz. Sistemde telnet yüklü değilse, “yum install -y telnet” ile yüklüyoruz.

6 – ” /etc/odbcinst.ini” dosyasını açıp en alta aşağıdaki kodu yapıştıralım;

[ODBC]
Trace = No
TraceFile = /tmp/sql.log
ForceTrace = No
 
[FreeTDS]
Driver = /usr/lib64/libtdsodbc.so.0
FileUsage = 1 

7 – “/etc/odbc.ini” dosyası varsa açalım, yoksa biz oluşturalım ve dosyanın içine aşağıdaki kodu ekleyelim;

 # Ms sql baglantisi
 [mssql_server]
 Description = mssql baglanti
 Driver = FreeTDS
 Trace = No
 Server = 192.168.1.XXX
 Database = MXXXXXXS (Databese adı)
 Port = 1433

8 – Centos’ta selinux aktif ise (default aktif), aşağıdaki komutlarla http üzerinden mssql bağlantısına izin verelim;

setsebool -P httpd_can_network_connect on
setsebool -P httpd_can_network_connect_db on

9 – Komut satırıyla bağlantının test edilmesi;

osql -S MyMSSQLServerName -U myusername -P mypassword

PHP ile baglantinin test edilmesi:

<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
	
$baglanti = odbc_connect("mssql_server","db_username","db_password"); 	
	
 if ($baglanti)
    	    echo "<span style='color:green'>Baglandi</span>"."</br>"; 	
	
$sorgu = odbc_exec($baglanti,"SELECT e.firstname, e.lastname,e.posref FROM LOCATION_ACTIVITY_DB.dbo.EMPLOYEE e");

while( $row = odbc_fetch_array($sorgu) ){
  echo $row["firstname"]." ".$row["lastname"]."<br>";
}

?>

Kaynaklar :

1 – https://fotografia.clerigo.pt/how-to-install-freetds-unixodbc-on-centos-7-with-php-5-6-to-access-sql-server-databases/

2 – http://www.stevepiercy.com/articles/how-to-install-and-configure-freetds-as-an-odbc-connector-to-microsoft-sql-server-on-centosrhel-for-lasso-9/

Yorum bırakın