Archive

Posts Tagged ‘SQLite’

SQLiteManager ภาค 3

December 16th, 2009 No comments

ว่าด้วยการการแสดงภาษาไทยใน SQLiteManager

ถึงแม้ว่าเราจะกำหนดให้ SQLite จัดเก็บข้อมูลภาษาไทยแบบ UTF-8 ก็ตาม แต่เวลาแสดงผลใน SQLiteManager นั้นบางทีก็ไม่ถูกต้อง เพราะว่าตัว SQLiteManager นั้นแสดงผลแบบ iso-8859-1 ซึ่งสามารถตรวจสอบได้จาก View > Source ของหน้านั้นๆ

การกำหนดให้ SQLiteManager ใช้ Charset เป็น UTF-8 นั้นไม่ยาก เพียงเข้าไปยัง SQLiteManager\lang\english.inc.php แล้วเปลี่ยนค่า $charset ให้เป็น

$charset = ‘UTF-8′;

เพียงเท่านี้ SQLiteManager ก็จะแสดงผลเป็น UTF-8 ตลอดเวลา เราสามารถอ่านภาษาไทยในหน้านั้นๆ ได้เลย

Categories: Web Web Web Tags: ,

SQLiteManager ภาค 2

December 8th, 2009 No comments

ภาค 2 ว่าด้วยการโอนย้ายข้อมูลจาก MySQL มายัง SQLite โดยใช้ SQLiteManager

ขั้นตอนการทำงานไม่ยุ่งยากเพียงแต่ต้องค่อยเป็นค่อยไป เริ่มจาก สร้าง Table ใน SQLite ให้มีคุณสมบัติเหมือนกับ Table ที่อยู่ใน MySQL เสียก่อน จากนั้นจึง Export ข้อมูลของ MySQL ผ่านทาง phpMyAdmin โดยเอาเฉพาะ Data เท่านั้น (ไม่เอา Structure เพราะเราได้เตรียมไว้แล้ว) จากนั้นก็ลบบรรทัดที่ไม่จำเป็นในไฟล์ที่ Export ออกมา ให้เหลือแต่ข้อมูลเพียวๆ แล้วก็เอาไปใส่ใน SQL Box ของตัว SQLiteManager แล้วก็กดปุ่มดำเนินการต่อ เท่านี้ข้อมูลที่อยู่ใน MySQL ก็จะมาอยู่ใน SQLite แล้ว

Categories: Web Web Web Tags: ,

SQLiteManager ภาค 1

December 8th, 2009 No comments

หลังจากที่ได้หันความสนใจมายัง SQLite ก็คงต้องมองหาระบบที่เป็น Web-Base เพื่อจัดการฐานข้อมูลชนิดนี้ สำหรับ MySQL นั้นมี phpMyAdmin เป็นตัวหลักแล้ว สำหรับ SQLite นั้นมี SQLiteManager เป็นตัวหลักเช่นกัน

หลังจากที่ได้ลองใช้ SQLiteManager มาพักนึงพบว่า ระบบและคำสั่งหลายอย่างยังไม่พร้อมสรรพและใช้ง่ายเหมือน phpMyAdmin

ตัวอย่างแรก ที่เจอเลยก็คือ คำสั่งสร้าง Field แบบ Auto Increment ซึ่งต้องอ่านคู่มือในเว็บของ SQLite จึงจะสามารถสร้างได้ โดยสร้างได้สองวิธีคือ ผ่าน SQL Box ในตัว SQLiteManager

CREATE TABLE t(x INTEGER PRIMARY KEY ASC, y, z);

หมายความว่า สร้างเทเบิ้ลที่มีชื่อว่า t มี 3 ฟิลด์ โดยที่ฟิด์ x เป็น Auto Increment จากน้อยไปมาก หรือ อีกวิธีคือ ตอนสร้างเทเบิ้ลนั้นจะให้เลือกชนิดของฟิลด์ ให้กำหนด Type ของฟิลด์เป็น Integer และเช็คที่ Primary ด้วย (เท่านั้นเอง แต่อย่าสับสนกับ Type แบบ Int นะครับ, มันเป็นคนละตัว)

ตัวอย่างที่สอง ยังไม่เจอครับ เพราะว่าเพียงแค่นี้ก็สามารถสร้าง web app ที่เหาะเหินเดินอากาศได้อย่างสบายแล้ว เพราะผมจะเน้นให้ Database เก็บข้อมูลดิบๆ มากกว่า ที่เหลือไปว่ากันที่ส่วนของ Code เพื่อให้ Database ทำงานน้อยที่สุดและเร็วที่สุด

Categories: Web Web Web Tags:

การใช้ SQLite กับ CodeIgniter

December 8th, 2009 No comments

$active_group = "sqlite";
$active_record = TRUE;
$db['sqlite']['hostname'] = "localhost"; $db['sqlite']['username'] = "";
$db['sqlite']['password'] = "";
$db['sqlite']['database'] = "path/to/database.sqlite2";
$db['sqlite']['dbdriver'] = "sqlite"; $db['sqlite']['dbprefix'] = "";
$db['sqlite']['pconnect'] = FALSE;
$db['sqlite']['db_debug'] = TRUE;
$db['sqlite']['cache_on'] = FALSE;
$db['sqlite']['cachedir'] = "";
$db['sqlite']['char_set'] = "utf8";
$db['sqlite']['dbcollat'] = "utf8_general_ci";

จาก http://route19.com/logbook/view/codeigniter-with-sqlite-v2

การกำหนดค่า config/database.php ใน CodeIgniter ให้ใช้งานฐานข้อมูลแบบ SQLite ซึ่งเป็นฐานข้อมูลที่เร็วทำงานในระดับ Memory จัดเก็บลงบนดิสก์ แต่ไม่เหมาะสำหรับนำไปทำเป็น Database Server แต่ถ้าใช้งานแบบ Server-Side ล่ะก็เร็วสุดๆ

ควรใช้งานคู่กับ SQLiteManager ซึ่งคือๆ กับ phpMyAdmin ที่เป็น Web-Base Application ที่เอาไว้จัดการฐานข้อมูลของ MySQL