นั่งหาบั๊กมาสองวัน ผิดตรงไหนฟะ
เพิ่งจะเจอตะกี้
ผมพยายามต่อ 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
งี่เง่ามาก ๆ - -"
4 comments:
เข้ามาบอกว่า ถ้าใช้ Java 6 รู้สึกว่าไม่ต้อง forName แล้วนะ
มัน scan ทั้ง classpath หา Driver ให้เราเลย
ผมก็ใช้ Java 6 นะ
ถ้าไม่ประกาศ Class.forName(ไดรเวอร์).newInstance() ขึ้นมาก่อน
ก็จะไม่ได้อ่ะ:
java.sql.SQLException: No suitable driver found for jdbc:mysql://...
งั้นผมคงจำผิด อาจจะต้องเป็น Driver jdbc 4.0 ด้วย
ตอนนี้ที่เป็น 4.0 มีแต่ Derby แหละ
น่าจะเป็นอย่างนั้น
driver ที่ใช้ (MySQL Connector/J 5.0) เป็น JDBC 3.0
Post a Comment