<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/faq.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'tr',
  ),
  'this' => 
  array (
    0 => 'faq.databases.php',
    1 => 'Veritabanı Sorunları',
    2 => 'Veritabanı Sorunları',
  ),
  'up' => 
  array (
    0 => 'faq.php',
    1 => 'SSS',
  ),
  'prev' => 
  array (
    0 => 'faq.obtaining.php',
    1 => 'PHP\'nin Temini',
  ),
  'next' => 
  array (
    0 => 'faq.installation.php',
    1 => 'Kurulum',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'tr',
    'path' => 'faq/databases.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="faq.databases" class="chapter">
  <h1 class="title">Veritabanı Sorunları</h1>

  

  <p class="para">
   Bu bölümde PHP ile veritabanları arasındaki ilişkiye yönelik sıkça sorulan
   sorulara yer verilmiştir. Evet, PHP, günümüzde kullanılabilen her
   veritabanına sanal olarak erişebilmektedir.
  </p>

  <div class="qandaset"><ol class="qandaset_questions"><li><a href="#faq.databases.mssql">
     
      PHP&#039;den Microsoft SQL Sunucusuna erişimin m&uuml;mk&uuml;n olduğunu duydum. Nasıl?
     
    </a></li><li><a href="#faq.databases.access">
     Microsoft Access veritabanlarına erişebilir miyim?
    </a></li></ol></div>
   <dl class="qandaentry" id="faq.databases.mssql">
    <dt><strong>
     
      PHP&#039;den Microsoft SQL Sunucusuna erişimin mümkün olduğunu duydum. Nasıl?
     
    </strong></dt>
    <dd class="answer">
     <p class="para">
      Unix makinelerde <a href="ref.pdo-odbc.php" class="link">PDO_ODBC</a>
      veya <a href="book.uodbc.php" class="link">Unified ODBC API</a>.
      kullanabilirsiniz.
     </p>
     <p class="para">
      Windows makinelerde, ayrıca
      <a href="ref.pdo-sqlsrv.php" class="link">PDO_SQLSRV</a> veya
      <a href="book.sqlsrv.php" class="link">SQLSRV</a> de kullanabilirsiniz.
     </p>
     <p class="para">
      Ayrıca bir sonraki sorunun cevabına da bakınız.
     </p>
    </dd>
   </dl>

   <dl class="qandaentry" id="faq.databases.access">
    <dt><strong>
     Microsoft Access veritabanlarına erişebilir miyim?
    </strong></dt>
    <dd class="answer">
     <p class="para">
      Bir Unix üzerindeyseniz ve bir Windows makinedeki bir Microsoft Access
      veritabanına erişmek istiyorsanız Unix ODBC sürücüleri kullanmanız
      gerekir. <a href="http://www.openlinksw.com/" class="link external">&raquo;&nbsp;OpenLink Software</a>,
      bunu yapabilen Unix temelli ODBC sürücülerine sahiptir.
     </p>
     <p class="para">
      Diğer bir seçenek, Windows ODBC sürücülerine sahip bir SQL sunucusu
      kullanmaktır. Böylece Microsoft Access (ODBC kullanarak) ve PHP&#039;ye
      (yerleşik sürücüleri kullanarak) erişebilirsiniz. Başka bir seçenek
      ise, Microsoft Access ve PHP&#039;nin her ikisinin de anlayabileceği düz
      dosyalar veya dBase veritabanları gibi bir aracı dosya biçimlerini
      kullanmaktır. Bu noktada OpenLink yazılımdan Tim Hayes&#039;in yazdıklarını
      okuyalım:
      <blockquote class="blockquote">
       <p class="para">
        Veritabanınıza PHP&#039;den ODBC&#039;yle (yani, OpenLink&#039;in sürücüleriyle)
        doğrudan erişmek varken aracı dosya olarak başka bir veritabanını
        kullanmak hiç iyi bir fikir değildir. Mutlaka bir aracı dosya
        kullanmanız gerekmiyorsa, OpenLink&#039;in NT, Linux ve diğer Unix
        platformları için dağıttığı Virtuoso&#039;yu (sanal veritabanı motoru)
        kullanabilirsiniz. Yazılımı özgürce indirmek için  <a href="http://www.openlinksw.com/" class="link external">&raquo;&nbsp;OpenLink</a>&#039;i ziyaret ediniz.
       </p>
      </blockquote>
     </p>
     <p class="para">
      Başarısı kanıtlanmış tek seçenek Windows üzerinde MySQL ile MyODBC
      sürücülerini kullanmak ve veritabanlarını eşzamanlamaktır. Steve
      Lawrence şunları yazmıştır:
     </p>
     <p class="para">
      <ul class="itemizedlist">
       <li class="listitem">
        <span class="simpara">
         MySQL&#039;i platformunuza talimatlara uygun olarak kurun. En son sürümü
         <a href="http://www.mysql.com/" class="link external">&raquo;&nbsp;http://www.mysql.com/</a> adresinden
         edinebilirsiniz. Bir veritabanı oluşturmak dışında özel bir
         yapılandırma gerekli değildir. Kullanıcı hesabını yapılandırdıktan
         sonra host alanına bir % imi veya MySQL ile erişmek istediğiniz
         Windows makinenizin konak adını yazın. Sunucu ismini, kullanıcı ismi
         ve parolanızı bir kenara yazmayı unutmayın.
        </span>
       </li>
       <li class="listitem">
        <span class="simpara">
         Windows için MyODBC sürücüsünü MySQL sitesinden indirin ve Windows
         makinenize kurun. İşlemi bu programla gelen araçlarla
         deneyebilirsiniz.
        </span>
       </li>
       <li class="listitem">
        <span class="simpara">
         Denetim Masası&#039;ndan (veya Yönetimsel Araçlar&#039;dan) ODBC Yöneticisini
         açıp bir kullanıcı veya bir sistem dsn oluşturun. MySQL veritabanını
         1. adımda oluştururken kullandığınız dsn adını, konak adını,
         kullanıcı adı ve parolasını yazın.
        </span>
       </li>
       <li class="listitem">
        <span class="simpara">
         Install Access&#039;i tam kurulum seçeneği ile kurun. Bu, doğru
         eklentilerin kurulduğundan emin olmanızı sağlar; en azından ODBC
         desteğine ve ilintili tablo yöneticisine ihtiyacınız olacak.
        </span>
       </li>
       <li class="listitem">
        <span class="simpara">
         En eğlenceli kısma geldik! Yeni bir Access veritabanı oluşturun.
         Tablo penceresine sağ tıklayıp Link Tables seçeneğini veya dosya
         menüsü seçeneği altından Get External Data ve ardından  Link Tables
         seçeneğini seçin. Dosya tarayıcı penceresi geldiğinde ODBC türündeki
         dosyaları seçin. Sistem dsn&#039;sini ve 3. adımda oluşturduğunuz kendi
         dsn isminizi seçin. İlintilenecek tabloyu seçtikten sonra Tamam&#039;a
         tıklayın. Hepsi bu kadar! Artık, MySQL sunucunuzdan tabloyu açabilir
         ve veri ekleme, silme ve düzenleme işlemlerini yapabilirsiniz.
         Ayrıca sorgular oluşturabilir, MySQL&#039;le tablo ithalatı ve ihracatı
         yapabilir, formlar ve raporlar, vs. oluşturabilirsiniz.
        </span>
       </li>
      </ul>
     </p>
     <p class="para">
      İpuçları:
      <ul class="itemizedlist">
       <li class="listitem">
        <span class="simpara">
         Tablolarınızı Access&#039;te oluşturabilir, bunları MySQL&#039;e ihraç
         edebilir ve onları gerisin geriye ilintileyebilirsiniz. Bu işlem,
         tablo oluşturmayı hızlandırır.
        </span>
       </li>
       <li class="listitem">
        <span class="simpara">
         Tablolarınızı Access&#039;te oluştururken, yazma erişimine sahip olmak
         için bir birincil anahtar oluşturmalısınız. Tabloyu ilintilemeden
         önce MySQL&#039;de de bir birincil anahtar oluşturmayı unutmayın.
        </span>
       </li>
       <li class="listitem">
        <span class="simpara">
         MySQL&#039;deki bir tabloda değişiklik yaparsanız, Access&#039;teki ile
         yeniden ilintilemelisiniz. Araçlar&gt;eklenti&gt;ilintili tablo
         yöneticisi&#039;ne gidin, ODBC DSN&#039;nize geçin ve tabloyu seçip yeniden
         ilintileyin. İsterseniz, dsn kaynağınızı oradan taşıyabilirsiniz,
         yapacağınız tek şey Tamam&#039;a tıklamadan önce yeni konum için daima
         istek yap onay kutusunu işaretlemek olacaktır.
        </span>
       </li>
      </ul>
     </p>
    </dd>
   </dl>
  
 </div>
<?php manual_footer($setup); ?>