12 Nisan 2017 Çarşamba

Informix Database Server DB Bağlantı Ayarları




  Informix DB Server'de DB Bağlantı Ayarları için Yapılması Gerekenler:



Informix bağlantısı için;


1) ..windows\System32\drivers\etc\hosts dosyasında bağlanmak istenen DB'nin ip adresi ve domaininin tanımlı olması gerekir.

2) Informix Setnet32.exe programının bilgisayara yüklü olması gerekir.

3) dbxconnections.ini dosyasının DB configurationu yapılır.

4) Luxena\lxdbexpinf.dll
    Luxena\lxdbexpinfpro.dll  Luxena'nın .dll dosyaları windows\System32 dizinine atılır.
 
5) Informix Setnet32 Ayarları:

   Server Information Tab: Informix Server için, dbxconnections.ini dosyasında yer alan DB adları                                                 altında hangi DB'ye bağlanmak istiyorsak o DB adının altında yer alan                                                   configuration bilgilerinden yararlanarak gerekli ayarlamalar yapılır.
                                          HostName için, bağlanılacak sunucunun ip adresi yazılır.
 
   Host Information Tab: Current Host için, bağlanılacak sunucunun ip adresi yazılır.
                                        User Name için, veritabanı kullanıcı adı yazılır.
                                        Password için, veritabanı kullanıcı şifresi yazılır.

6) Delphi7 components tabında yer alan dbExpress componentten SQLConnection nesnesi uygulamanın formuna eklenir. Nesnenin properties'inden;
                     DriverName        :InformixLuxena (system32'ye eklemiş olduğumuz Luxena\dll)
                     ConnectionName:dbxconnections.ini ' de yer alan DB bağlantılarından configurationunu                                                   yapmış olduğumuz DB'nin adı yazılır.

    Son olarak da nesnenin ilgili DB'ye bağlanıp bağlanmadığını test etmek için Connected                       alanı True yapılır.





Visual Studio'da Proje Derleme



                
         Visual Studio'da C# Projesini Derleme :


Visual Studio'da C# Projesi Derleme Adımları:

1) İlk önce derlemek istediğimiz proje, Visual Studio'nun hangi sürümünde yapılmış ise o sürümü ile çalıştırılır.

2) Visual Studio'nun üst tarafında yer alan 'Debug' kısmı 'Release' olarak ayarlanır.

3) Proje F6 tuşu ile veya Solution üzerinden Build edilir.

4) 'Release'  seçeneği tekrardan 'Debug' olarak ayarlanarak proje kapatılır.

5) Son olarak, projenin (.sln uzantısı) adresi herhangi bir web tarayıcıdan girilerek enter tuşuna basılır, herhangi bir hata ile karşılaşılmaz ise compile işlemi sorunsuz bitmiş demektir.

16 Mart 2017 Perşembe

SQL'de Birden Fazla Alanı Tek Alan Yapmak




           SQL'de Aynı Kolondaki Birden Fazla Alanı Tek Alan Yapmak:



   SQL'de bir kolona ait birden fazla alandan dönen verileri tek bir alan içerisine yazdırmak için aşağıdaki gibi sorgu yazabiliriz:



SELECT surid, string_agg(sqql, '+') AS sqql_list
FROM  dyndeneme d, dyntestsym t where t.oid=d.oidtestsym and surid=surecid
GROUP  BY 1 // sorgudaki string_agg() fonksiyonu ile sqql adındaki kolondan dönen değerlerin arasına '+' işareti koyarak tek bir alana yazıyor.



15 Mart 2017 Çarşamba

Linux (Centos 7) Firewall Ayarları ve Port Açma



                             

                                          CentOS 7 Firewall Port Açma 



firewall-cmd --list-all : Makinede açık ve kullanılıyor olan portların listesini ekranda gösterir.

firewall-cmd --add-port=8733/tcp --permanent : firewall üzerinde 8733 portunun açılması.



/etc/firewalld altında firewalld servisinin ayarları bulunmaktadır.
/etc/firewalld/zones/public.xml altında varsayılan zoneda açılan portlar saklanmaktadır.
–permanent parametresi değiştirilen portların kalıcı olarak saklanmasını sağlar.
firewall-cmd --reload : firewall yeniden başlatılır.

                                                               
                                                  Firewall Ayarları

firewall-cmd --permanent --get-services : firewall servislerine erişim.
systemctl status firewalld : firewall aktif mi değil mi ?.
firewall-cmd --state : firewall aktif mi değil mi ?.
systemctl stop firewalld : firewall kapatma.
systemctl start firewalld : firewall açma.




10 Mart 2017 Cuma

PHP'de String İşlemleri


    

       PHP'de explode() Fonksiyonu: 

Metin ifadeleri bir ayraç ile parçalamak için explode() fonksiyonu kullanılır. Bu fonksiyon, string ifade içinde belirlenen ayraç bulunduğu müddetçe metni parçalar ve bir dizi olarak geri döndürür.


Sözdizimi: explode(ayraç,string,limit)

Ayraç: gereklidir.
String: gereklidir.
Limit: isteye bağlıdır. Limit pozitif ise en çok belirtilen sayıda eleman içerir. ve metnin kalanı son elemana yerleştirilir.Limlit negatifse son limlit eleman hariç tüm elemanlar döndürülür. Limit sıfırsa dizi, 1 eleman gösterilir.

$meyve = "Elma,Armut,Kiraz,Muz,Şeftali,nar";


$dizi = explode (",",$meyve,-2);


echo '<pre>';


print_r ($dizi);


echo '</pre>';
Çıktısı:

  Array
(
    [0] => Elma
    [1] => Armut
    [2] => Kiraz
    [3] => Muz
)

Client bağlantısı ile veritabanından dizi şeklinde dönen değerlerin 
sayfada listelenmesi: 


try {       
     $client = new SoapClient ( $url . "?wsdl", $params );
     $data = $client-> __soapCall("stringprocess", array($cduser));

     $menu = explode(" ", $data. "\n");
         
     foreach ($monu as $key => $value)
     {
      echo "<p>".$key."</p>";//dizi elemanlarının indexlerini tutar
      echo "<p>".$value."</p>";//dizi elemanlarını tutar
      echo "<hr />";
     }

     }
catch(Exception $e) {
 die($e->getMessage());
}


9 Mart 2017 Perşembe

PHP ile Sistem Tarih ve Saatini Yazdırmak



   
               PHP'de sistem tarihini projelerimizde kullanmak için aşağıdaki kodları yazabiliriz. 


<?php

$tarih = date("d.m.Y"); //Sistemde görünen güncel tarihi almak için
$saat = date("H:i:s"); //Sistemde görünen güncel saati almak için

echo "Tarih :".$tarih."<br>";
echo "Saat:".$saat;
?>

7 Mart 2017 Salı

PHP - Oracle Fonksiyonunun Kullanımı




   PHP'de Oracle Fonksiyona Parametre Gönderme:





 function data_analiz($tablo, $kosul, $islem) // client tarafından bu fonksiyon çağrılıyor, kullanıcının girdiği veriler post metodu ile buraya düşüyor
   {
      $conn = "(DESCRIPTION=(ADDRESS = (PROTOCOL = TCP)(HOST = btctestdb.baticim.com.tr)(PORT = 1541))(CONNECT_DATA=(SID=BTCMTEST)))" ;//oracle bağlantısı
 

    if($conn = OCILogon("SOFTEXPERT", "SOFTEXPERT", $conn))//bağlantıda kullanıcı şifre kontrolü
    {
$stid = oci_parse($conn, 'begin apps.xxbtc_softexpert_sorgu_f(:p_tablo, :p_kosul, :p_islem); end;');//burada oracle tarafında tanımlı olan fonksiyonu çağırıyorum

//ALTERNATİF KULLANIM OLARAK, ORACLE'da TANIMLI FONKSİYONUN SELECT SORGUSUNDA KULLANIMI
$stid = oci_parse($conn, "Select apps.xxbtc_softexpert_sorgu_f(:p_tablo, :p_kosul, :p_islem) as deger from dual");


        oci_bind_by_name($stid, ':p_tablo', $tablo);// kullanıcının gireceği değerlerin aktarılması
        oci_bind_by_name($stid, ':p_kosul', $kosul);
        oci_bind_by_name($stid, ':p_islem', $islem);


//ALTERNATİF KULLANIM OLARAK, SELECT SORGUSUNDA as deger ADI ÜZERİNDEN FONKSYİON SONUCUNUN DEĞİŞKENE AKTARILMASI
while (oci_fetch($stid)) {
    $id = oci_result($stid, [0]);
  }
   return $id;
       
        $sonuc = oci_execute($stid);

     }
      else
      {
        $err = OCIError();
       echo "Baglanti Hatasi." . $err[text];
      }
   
      return $sonuc;
   
   }