ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programming[ Codeigniter ] เชื่อมต่อเข้า MS SQL ไม่ได้ครับ?
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: [ Codeigniter ] เชื่อมต่อเข้า MS SQL ไม่ได้ครับ?  (อ่าน 6702 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
saparee
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 319
ออฟไลน์ ออฟไลน์

กระทู้: 1,923



ดูรายละเอียด
« เมื่อ: 08 กันยายน 2011, 11:44:49 »

นี่คือการตั้งค่าปัจจุบันของผม

$active_group = 'mssql';
$active_record = TRUE;

$db['mssql']['hostname'] = 'xxx.xxx.xxx.xxx';
$db['mssql']['username'] = 'user';
$db['mssql']['password'] = 'password';
$db['mssql']['database'] = 'db_name';
$db['mssql']['dbdriver'] = 'mssql';
$db['mssql']['dbprefix'] = '';
$db['mssql']['pconnect'] = FALSE;
$db['mssql']['db_debug'] = TRUE;
$db['mssql']['cache_on'] = FALSE;
$db['mssql']['cachedir'] = '';
$db['mssql']['char_set'] = 'utf8';
$db['mssql']['dbcollat'] = 'utf8_general_ci';
$db['mssql']['swap_pre'] = '';
$db['mssql']['autoinit'] = TRUE;
$db['mssql']['stricton'] = FALSE;


ผมลองค้นหาดูก่อนแล้ว และตั้งค่าตามที่เนื้อหาบอก แต่ก็ยังไม่ได้ซักทีครับ

Error ปัจจุบันขึ้นแบบนี้ครับ





A Database Error Occurred
Unable to connect to your database server using the provided settings.

Filename: C:\xampp\htdocs\...\system\database\DB_driver.php

Line Number: 124



ไม่ทราบว่าใครพอจะให้คำแนะนำในเรื่องนี้ได้บ้างครับ?

ขอบคุณครับ
บันทึกการเข้า
kongpair
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 333
ออฟไลน์ ออฟไลน์

กระทู้: 2,721



ดูรายละเอียด
« ตอบ #1 เมื่อ: 08 กันยายน 2011, 11:46:17 »

$db['mssql']['hostname'] = 'xxx.xxx.xxx.xxx';


อันนี้ ไม่ใช่ 'localhost' หรือครับ
บันทึกการเข้า
saparee
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 319
ออฟไลน์ ออฟไลน์

กระทู้: 1,923



ดูรายละเอียด
« ตอบ #2 เมื่อ: 08 กันยายน 2011, 11:49:34 »

$db['mssql']['hostname'] = 'xxx.xxx.xxx.xxx';


อันนี้ ไม่ใช่ 'localhost' หรือครับ

คือผมต้อง connect จากที่ทำงานเข้าไปที่เครื่อง server อีกทีหนึ่งครับ (อยู่ที่ กศท.)  Tongue
บันทึกการเข้า
djoser
คนรักเสียว
*

พลังน้ำใจ: 12
ออฟไลน์ ออฟไลน์

กระทู้: 152



ดูรายละเอียด
« ตอบ #3 เมื่อ: 08 กันยายน 2011, 12:22:40 »

server เก็บ script อยู่ที่นึง และ database อยู่อีกที่นึงใช่ไหมคะ
ถ้าอย่างนั้น
$db['mssql']['hostname'] = 'xxx.xxx.xxx.xxx';
xxx ก็ต้องเป็น real ip ของ db server น่ะค่ะ และต้องไปเปิดการเรียกใช้งานของเครื่องอื่น ใน db server ด้วย
การเปิดให้ใช้ db แบบ remote ได้ จะอยู่ใน SQL Server Surface Area Configuration ให้เลือก Remote Connections เป็น Local and remote connections นะคะ จากนั้นให้ restart mssql server 1 ครั้ง แล้วลองเข้าใหม่ดูค่ะ


แต่ถ้า server กะ script อยู่เครืองเดียวกัน ไม่แน่ใจว่า จะใช้ เป็น $db['mssql']['hostname'] = '(local)';
หรือเปล่านะคะ
บันทึกการเข้า
saparee
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 319
ออฟไลน์ ออฟไลน์

กระทู้: 1,923



ดูรายละเอียด
« ตอบ #4 เมื่อ: 08 กันยายน 2011, 13:44:06 »

server เก็บ script อยู่ที่นึง และ database อยู่อีกที่นึงใช่ไหมคะ
ถ้าอย่างนั้น
$db['mssql']['hostname'] = 'xxx.xxx.xxx.xxx';
xxx ก็ต้องเป็น real ip ของ db server น่ะค่ะ และต้องไปเปิดการเรียกใช้งานของเครื่องอื่น ใน db server ด้วย
การเปิดให้ใช้ db แบบ remote ได้ จะอยู่ใน SQL Server Surface Area Configuration ให้เลือก Remote Connections เป็น Local and remote connections นะคะ จากนั้นให้ restart mssql server 1 ครั้ง แล้วลองเข้าใหม่ดูค่ะ


แต่ถ้า server กะ script อยู่เครืองเดียวกัน ไม่แน่ใจว่า จะใช้ เป็น $db['mssql']['hostname'] = '(local)';
หรือเปล่านะคะ

คิดว่าน่าจะตั้งค่าเรียบร้อยแล้วครับ
เพราะในทีมใช้ .net ก็สามารถ connect เข้าไปที่ไปได้จากที่ทำงานเหมือนกันครับ 
Huh?

บันทึกการเข้า
djoser
คนรักเสียว
*

พลังน้ำใจ: 12
ออฟไลน์ ออฟไลน์

กระทู้: 152



ดูรายละเอียด
« ตอบ #5 เมื่อ: 08 กันยายน 2011, 15:05:18 »

ไม่รู้จะใช่ไหม ถ้าเช่นนั้นก็มีแต่ php ที่แตกต่าง เพราะตัว .net connect ได้แล้ว
เราลองใช้เครื่องเราลง CI แล้วconnect database ทั้ง MySQL และ MSSQL ดูแล้วไม่ได้เหมือนกัน เลย search ใน google อ่ะค่ะ
เค้าว่าให้ลองเปลี่ยน php version ดู เป็น PHP 5.2.17 ที่นี้มัน connect ได้เลยค่ะ (เดิมทีของเราเป็น 5.2.9)
บันทึกการเข้า
saparee
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 319
ออฟไลน์ ออฟไลน์

กระทู้: 1,923



ดูรายละเอียด
« ตอบ #6 เมื่อ: 08 กันยายน 2011, 17:09:20 »

สรุปว่าตอนนี้ทำได้แล้วนะครับ


ตอนแรกผมลองทำตามคำแนะนำของคุณ djoser
ด้วยการ Upgrade รุ่นของ Xampp เป็น 1.7.3 ( PHP 5.3.1 ) แต่ก็ยังไม่ได้

จากนั้นเลยลองหาข้อมูลเพิ่ม ก็ได้เจอเว็บบนี้ครับ
โค๊ด:
http://www.im-ai.com/blog/2010/06/fatal-error-call-to-undefined-function-mssql_connect/

ไปอ่านเจอ ว่าให้ Un Comment ในไฟล์ php.ini บรรทัด extension=php_mssql.dll ออก จากนั้น Reboot Apache แค่นี้แหละครับ



หมายเหตุ :
ใน CI ของผม $db['default']['hostname'] จะใช้ localhost หรือ 127.0.0.1 ไม่ได้ครับ
ต้องใช้ชื่อเครื่องที่เข้า connect MS SQL เลยครับ อย่างของผมคือ PPP\SQLEXPRESS ครับ


บันทึกการเข้า
djoser
คนรักเสียว
*

พลังน้ำใจ: 12
ออฟไลน์ ออฟไลน์

กระทู้: 152



ดูรายละเอียด
« ตอบ #7 เมื่อ: 08 กันยายน 2011, 17:17:03 »

ป๊าดดด ตกม้าตาย กันตรง extension นี่แล้วไง
555 ไม่ทันคิดกันทั้งคู่เลย
ยินดีด้วยค่ะ ได้แล้ว Smiley
บันทึกการเข้า
ohmohm
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 170
ออฟไลน์ ออฟไลน์

กระทู้: 3,098



ดูรายละเอียด เว็บไซต์
« ตอบ #8 เมื่อ: 12 กันยายน 2011, 12:55:57 »

$db['mssql']['hostname'] = 'xxx.xxx.xxx.xxx';


อันนี้ ไม่ใช่ 'localhost' หรือครับ


คือผมต้อง connect จากที่ทำงานเข้าไปที่เครื่อง server อีกทีหนึ่งครับ (อยู่ที่ กศท.)  Tongue
  --- อ้อ สุดท้ายได้แล้ว

 ใช้ MSSQL แล้วเข้า port หมายเลข 1433 ได้ไหมครับ

แล้วทีมที่ใช้ .net เข้าด้วยวิธีที่ต่างจากของเราไหม

ลอง Query Plus ( Query Express เก่า ) ของฟรีที่ใช้กับ MSSQL ได้
http://sourceforge.net/projects/queryexplus/
« แก้ไขครั้งสุดท้าย: 12 กันยายน 2011, 13:03:24 โดย ohmohm » บันทึกการเข้า
หน้า: [1]   ขึ้นบน
พิมพ์