ย้ายบล็อกไปที่ bact.cc แล้วนะครับ

พ.ร.บ.คอมพิวเตอร์
หยุด ร่างพ.ร.บ.คอมพิวเตอร์
พื้นที่เก็บข้อมูลออนไลน์ ฟรี 2GB จาก Dropbox (sync กับ Windows, Linux, Mac, iPhone, Android ฯลฯ ได้)

2007-04-02

silly mistake - -"

นั่งหาบั๊กมาสองวัน ผิดตรงไหนฟะ

เพิ่งจะเจอตะกี้

ผมพยายามต่อ MySQL จาก Java ไม่ได้ซักทีแฮะ เอ ก่อนหน้านี้ (ก่อนฟอร์แมตเครื่อง) ยังใช้ได้นี่นา

ใช้ JDBC driver มาตรฐานจาก MySQL เอง คอมไพล์ก็ผ่านดี ไม่มีปัญหา

ปรากฎว่า เราเรียกใช้ jar ผิดตัว - ใส่ชุดไลบรารีถูก แต่ในชุดไลบรารีนั้น ระบุไฟล์ jar ผิดตัว
มันก็เลยหาคลาส (com.mysql.jdbc.Driver) ไม่เจอไง เฮ้อ~
(ถ้าใช้ jar อันที่ผิด จะเจอคลาสนี้ตอนเขียน (ทดสอบโดยการกด Ctrl-space เพื่อให้ NetBeans มันแสดงแพ็คเกจ/คลาสต่าง ๆ ให้ดู) แต่ไม่เจอตอนรันนะ)

อันที่ไปใช้ผิด ชื่อ mysql-connector-java-5.0.4-bin-g.jar
ส่วนอันที่ถูก ชื่อ mysql-connector-java-5.0.4-bin.jar

งี่เง่ามาก ๆ - -"

technorati tags: ,

4 comments:

deans4j said...

เข้ามาบอกว่า ถ้าใช้ Java 6 รู้สึกว่าไม่ต้อง forName แล้วนะ

มัน scan ทั้ง classpath หา Driver ให้เราเลย

bact' said...

ผมก็ใช้ Java 6 นะ
ถ้าไม่ประกาศ Class.forName(ไดรเวอร์).newInstance() ขึ้นมาก่อน
ก็จะไม่ได้อ่ะ:

java.sql.SQLException: No suitable driver found for jdbc:mysql://...

deans4j said...

งั้นผมคงจำผิด อาจจะต้องเป็น Driver jdbc 4.0 ด้วย

ตอนนี้ที่เป็น 4.0 มีแต่ Derby แหละ

bact' said...

น่าจะเป็นอย่างนั้น

driver ที่ใช้ (MySQL Connector/J 5.0) เป็น JDBC 3.0