Dalam artikel saya yang sebelumnya mengenai Konfigurasi Codeigniter 2.1.0 dengan SQL Server 2008 masih banyak pembaca yang bingung dan bertanya-tanya
"kenapa kok masih g konek ya padahal sudah bener semua settingan koneksi database ke SQL Servernya"Nah jangankan pembaca yang budiman (bukan ibu Diman.... :D pis.. ), penulis yang bukan suaminya bu Diman pun juga heran, kok bisa tidak konek ke database SQL Server ya (pengalaman pas habis install ulang OS).
Nah untuk itu saya sebagai penulis (tentunya bukan suaminya bu Diman) membuat ulang langkah konfigurasi CI 2.x.x untuk bisa terkoneksi dengan SQL Server 2008/2012.
Sebagai info tambahan, saya menggunakan XAMPP 1.8.2 dengan PHP 5.4 dengan OS Windows 8 64bit.
Langkah-langkahnya sebagai berikut :
- Install SQL Server 2008 / 2012. Jangan lupa install juga SQL Server Native Client, karena disinilah letak permasalahannya. Kadang kita meng-instal SQL Server, tapi tidak meng-install SQL Server Native Client nya sehingga aplikasi PHP kita tidak bisa terkoneksi dengan SQL Server. SQL Server Native Client bisa di download di microsoft.com, atau kalau bingung sudah saya siapkan dan dapat di download disini
- Download driver SQL Server untuk PHP, bisa di download disini. Sebagai catatan cek versi PHP yang sedang dipakai, kemudian cocokkan dengan versi library PHP untuk SQL Server. Saya menggunakan Microsoft SQL Server Drivers versi 3.0
- Ekstrak file yang telah di download ke extensinya php (contoh klo di XAMPP ada di XAMPP/php/ext)
- Edit file php.ini nya, trus tambahkan code (untuk PHP 5.4)
extension=php_sqlsrv_54_ts.dll extension=php_pdo_sqlsrv_54_ts.dll
- Restart Apache pada XAMPP
- Selanjutnya setting database.php yang ada pada folder config Codeigniter
$db['default']['hostname'] = 'ZAWA-PC'; // Nama PC dimana SQL Server diinstal atau $db['default']['hostname'] = 'localhost'; $db['default']['username'] = 'sa'; $db['default']['password'] = '123456'; $db['default']['database'] = 'db_zawa'; $db['default']['dbdriver'] = 'sqlsrv'; $db['default']['dbprefix'] = ''; $db['default']['pconnect'] = FALSE; $db['default']['db_debug'] = TRUE; $db['default']['cache_on'] = FALSE; $db['default']['cachedir'] = ''; $db['default']['char_set'] = 'utf8'; $db['default']['dbcollat'] = 'utf8_general_ci'; $db['default']['swap_pre'] = ''; $db['default']['autoinit'] = TRUE; $db['default']['stricton'] = FALSE;
-
Apabila SQL Server di install di komputer lain yang masih dalam satu jaringan LAN, dan komputer kita HANYA ingin mengakses SQL Server dari komputer itu. Ubah konfigurasi untuk hostname-nya menjadi
$db['default']['hostname'] = 'tcp:XXXX,YYYY';
Dimana XXXX adalah nama PC yang diinstal SQL Server dan YYYY adalah Port yang digunakan SQL Server$db['default']['hostname'] = 'tcp:HYURA-PC,1433'; // 1433 Port default SQL Server atau $db['default']['hostname'] = 'tcp:192.168.0.212,1433'; // 1433 Port default SQL Server
Ada udang dibalik batu, udah duluuu...... ^_^
NB : Kalau menggunakan langkah ke 7 yang hanya mengakses SQL Server yang ada dikomputer komputer lain, JANGAN LUPA LAGI, tetap install SQL Server Native Client nya. Selain itu bisa jadi perlu diinstall juga Visual C++ Redistributable sesuai dengan arsitektur dari program PHP. Download VC11
Keyword : PHP CodeIgniter, Konfigurasi SQL Server 2008
Untuk menghargai HKI(Hak Kekayaan Intelektual), sumber referensi yang saya pakai dan saya pelajari akan ditampilkan.
Referensi : http://codeigniter.com/, msdn.microsoft.com
Author : Moch. Zawaruddin Abdullah, www.zawaruddin.blogspot.com
apakah support juga jika menggunakan sql server 2005 mas ?
BalasHapussaya blm pernah pakai sql server 2005, tp klo di cek di
Hapushttp://www.microsoft.com/en-us/download/details.aspx?id=20098
Microsoft Drivers for PHP for SQL Server support sql server 2005
Terima Kasih sharingnya mas, kalo boleh saya tanya untuk dapat menyimpan data array (multiple) dalam satu field tabel bagaimana ? untuk di Viewnya saya bikin seperti ini
BalasHapusresult_array() as $s){
if($angkut==$s['angkut']){
?>
sedangkan di Controllernya untuk Simpan saya bikin :
$up['alat_angkut'] = $this->input->post('angkut[]');
maksudnya yg lebig jelas gmn ya?
Hapusklo kayak gini contoh array nya
$arr = array('index1' => array('1' => 'management', '2' => 'account', '3' => 'technology'),
'index2' => array('a' => 'siswa', 'b' => 'guru', 'c' => 'mahasiswa', 'd' => 'dosen'));
bisa pake
foreach($arr as $index => $value)
Maaf mas, soalnya saya masih belajar. Maksudnya adalah saya ingin menyimpan isi data melalui multiple pilihan atau option dari tabel, misal saya ingin memilih jenis angkutan tidak hanya satu, tapi 3 pilihan dengan mencentangnya,lalu tersimpan dalam satu field dengan isi dari pilihan tersebut. ( dan saya menggunakan perintah select option multiple pada view nya). sedangkan di Controllernya untuk Simpan saya bikin dengan perintah
BalasHapus$up['alat_angkut'] = $this->input->post('angkut[]');
hasilnya datanya tersimpan tapi isinya 0 tidak sesuai dengan pilihan yang dicentang tadi. Mungkin mas Zawaruddin ada trik untuk menyimpan data multiple tersebut dalam satu filed tabel. Terima kasih sebelumnya ..
coba nama selectnya sudah mengandung format array g?
Hapusseperti
- select name="angkut[]" multiple
trus klo mau input ke db, $this->input->post('angkut[]') di foreach dulu
mas aku mau nanya kok aku page not found yah udh frustasi nih. aku tuh username sama passwornya lupaa. ngaruh ga sih? mohon dibales ya mas
BalasHapusyg d maksud lupa user dan password apa ya? apakah user dan password nya DB sql server?
Hapusklo iya, ya ngaruh, aplikasi CI g bisa akses DB sql server
Mas Zawaruddin, punya sample atau contoh multiple select dan dapat disimpan beberapa pilihan tersebut dalam satu field tabel dengan codeigneter. Tks
BalasHapusmaksudnya seperti ini kah?
Hapushttp://stackoverflow.com/questions/2407284/how-to-get-multiple-selected-values-of-select-box-in-php
Mas Zawaruddin, saya sudah ikuti step by stepnya. tapi malah muncul :
BalasHapusA Database Error Occurred
Unable to connect to your database server using the provided settings.
Filename: C:/xampp/htdocs/codeigniter/system/database/DB_driver.php
Line Number: 436
gmn cara mengatasinya y, sudah muterin google ga ktemu2
sy pakai ci3
Mas Zawaruddin, saya sudah ikuti step by stepnya, tetapi setelah di run di browser muncul :
BalasHapusA Database Error Occurred
Unable to connect to your database server using the provided settings.
Filename: C:/xampp/htdocs/codeigniter/system/database/DB_driver.php
Line Number: 436
bagaimana cara mengatasinya y? saya pakai ci3
pastikan config nya dah sesuai, dan juga pastikan sql server driver for php dan d load d php.ini dan apache dah d restart....
HapusUnable to connect to your database server using the provided settings.
BalasHapusFilename: D:\xampp\htdocs\module\system\database\DB_driver.php
Line Number: 124
ini settingan db :
$db['default']['hostname'] = 'tcp:COMP5-PC,1433';
$db['default']['username'] = 'sa';
$db['default']['password'] = '';
$db['default']['database'] = 'dbROR';
$db['default']['dbdriver'] = 'sqlsrv';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = FALSE;
Gan kalo ini knp ya.? sya pakai CI 3 dan konek SLQ SERVER ke Komputer lain
makasih gan.
databasenya emg g pakai password?
Hapuscoba cek sql server driver nya di php
dan coba pakai alamat IP aja (bukan nama PC)