KodFeed İLMİN ZEKATI…

3Şub/120

Kohana ve Veritabanına Bağlanma

Kohana Php FrameworkKohana ile veritabanı bağlantısı gerçekleştirmek istiyorsanız öncelikle application/bootstrap.php dosyasını düzenlemeniz gerekmektedir. bootstrap.php dosyası içerisinde kullanacağınız modülleri çağırmanız gerekmekte. Bundan dolayı, Kohana::modules arrayi içinde bulunan database satırının yorum satırı olarak göstermemelisiniz.

Kohana::modules(array(
 // ...
 'database' => MODPATH.'database', // Database access
 // ...
 ));

Bu aşamadan sonra veritabanına bağlanmak için ayarların yapılması gerekmekte. Veritabanı ayarlarını Modules/database/config/database.php dosyası içerisinde yapabileceğiniz gibi, Application/config/database.php dosyası oluşturup aşağıdaki kod ile de gerçekleştirebilirsiniz.

<?php defined('SYSPATH') or die('No direct access allowed.');

return array
(
    'default' => array
    (
        'type'       => 'mysql',
        'connection' => array(
            'hostname'   => 'localhost',
            'username'   => 'kullanıcıadı',
            'password'   => 'şifre',
            'persistent' => TRUE,
            'database'   => 'veritabanıadı',
        ),
        'table_prefix' => '',
        'charset'      => 'utf8',
        'profiling'    => TRUE,
    ),
    'ikinciveritabani' => array
    (
        'type'       => 'mysql',
        'connection' => array(
            'hostname'   => 'localhost',
            'username'   => 'kullanıcıadı',
            'password'   => 'şifre',
            'persistent' => TRUE,
            'database'   => 'veritabanıadı2',
        ),
        'table_prefix' => '',
        'charset'      => 'utf8',
        'profiling'    => TRUE,
    )
);

default adında tanımlamış olduğunuz veritabanına objesini oluşturmak için;

$default = Database::instance();

yazmanız yeterlidir. Instance Name farklı kullandıysanız aşağıdaki şekilde veritabanı objesini oluşturabilirsiniz;

$default = Database::instace('ikinciveritabani');

Veritabanı ile işiniz bittiğinde connection kapatmak için;

unset($default)
// veya
unset(Database::$instances['default']);

demeniz yeterlidir.Bütün connectionları kapatmak istiyorsanız;

Database::$instances= array();

kullanmalısınız.

Connection test etmek için controller classının içinde şunu denemeniz yeterlidir;

$default = Database::instance();
$default->connect();
unset($default);

Eğer "Database_Exception [ 2 ]: mysql_pconnect(): Access denied for user 'root'@'localhost' (using password: YES)" hatası almazsanız veritabanına başarıyla bağlandınız demektir.

Kaynak:

http://kohanaframework.org/3.2/guide/database/config

VN:F [1.9.13_1145]
Rating: 9.0/10 (1 vote cast)
VN:F [1.9.13_1145]
Rating: +1 (from 1 vote)
2Şub/120

MsSQL ve Collation

Microsoft Sql ServerMsSQL'de collation belirlerken türkçe diline göre seçim yapmak istiyorsunuz fakat Türkçe için bir hayli collation bulunmakta. Peki bu collationlar'ın hangisini kullanacaksınız ve hangisini tercih etmelisiniz. Kısaltmaların anlamı nedir sırasıyla inceleyelim.

MsSQL'de 20'ye yakın Turkish_* collation bulunmakta. Seçim yaparken, ihtiyacınıza göre seçim yapmanız gerekmektedir. İhtiyacınıza uygun mssql collation seçimi için aşağıdaki kısaltmalar size yardımcı olacaktır.

CI    => Case Insensitive(Büyük küçük harf ayrımı olmasın)

CS    => Case Sensitive(Büyük küçük harf ayrımı olsun)

AI   =>  Accent Insensitive (Aksan Duyarlı olmasın)

AS   => Accent Sensitive (Aksan Duyarlı)

BIN => Binary Düzen

VN:F [1.9.13_1145]
Rating: 10.0/10 (1 vote cast)
VN:F [1.9.13_1145]
Rating: +1 (from 1 vote)
12Nis/104

MSSQL Random Veri Seçme

Öncelikle bir veritabanında yapmış olunan count sorgulama işlemi tabloda veriler fazla ise bir hayli yavaştır.

VN:F [1.9.13_1145]
Rating: 8.0/10 (1 vote cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)