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:
,

Published by

bact

bact' is a name

4 thoughts on “silly mistake – -"”

  1. เข้ามาบอกว่า ถ้าใช้ Java 6 รู้สึกว่าไม่ต้อง forName แล้วนะมัน scan ทั้ง classpath หา Driver ให้เราเลย

  2. ผมก็ใช้ Java 6 นะถ้าไม่ประกาศ Class.forName(ไดรเวอร์).newInstance() ขึ้นมาก่อนก็จะไม่ได้อ่ะ:java.sql.SQLException: No suitable driver found for jdbc:mysql://…

  3. งั้นผมคงจำผิด อาจจะต้องเป็น Driver jdbc 4.0 ด้วยตอนนี้ที่เป็น 4.0 มีแต่ Derby แหละ

  4. น่าจะเป็นอย่างนั้นdriver ที่ใช้ (MySQL Connector/J 5.0) เป็น JDBC 3.0

Leave a Reply