-- 作者:christophe2008
-- 发布时间:2/21/2009 4:34:00 PM
-- [求助]急!在Jena中使用MySQL出现问题。
[size=4]Jena中使用mysql出现问题 求救: 我使用的是MySQL5.0.4,JDK1.5,Eclipse3.3和Jena2.5,我尝试过使用很多MySQL驱动,有mysql-connector-java3.1系列,5.0系列,5.1系列,但调试过程中总会出现异常,不知是怎么回事?哪位大侠可以帮帮忙! 程序如下: import java.io.*; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import com.hp.hpl.jena.db.*; import com.hp.hpl.jena.rdf.model.*; //在MySQL数据库中创建一个模型,并存储RDF图。 public class StoreModel { /** MySQL driver classname */ private static final String mysqlDriver = "com.mysql.jdbc.Driver"; /** URL of database to use */ private static final String DB_URL = "jdbc:mysql://localhost/test"; private static final String DB_TYPE = "MySQL"; /** User credentials */ private static final String DB_USER = "root"; private static final String DB_PASSWORD = "chen123"; /** Name of the Jena model to create */ private static final String MODEL_NAME = "data"; /** Locations of wordnet graphs to load */ private static String FileURI = "file:data/newStructure.owl"; //从文件中读取RDF图进模型中 private void readFileIntoModel(String filename, Model model) throws FileNotFoundException { //使用类装载器读取输入文件 InputStream in = this.getClass().getClassLoader().getResourceAsStream(filename); if (in == null) { throw new FileNotFoundException("File not found on classpath: "+ filename); } model.read(in,null); } //创建一个MySQL模型,并读取owl本体文件 public static void main(String[] args) { IDBConnection connection = new DBConnection(DB_URL, DB_USER, DB_PASSWORD, DB_TYPE); try { // Instantiate database driver Class.forName(mysqlDriver); } catch (ClassNotFoundException e) { System.err.println("MySQL driver class not found"); System.exit(-1); } // Get a connection to the db // Get a ModelMaker for database-backed models ModelMaker maker = ModelFactory.createModelRDBMaker(connection); //创建一个新模型model Model model = maker.createModel("Onto"); try { // Close the database connection connection.close(); } catch (java.sql.SQLException e) {} } } 出现的异常: Exception in thread "main" java.sql.SQLException: No suitable driver at java.sql.DriverManager.getConnection(DriverManager.java:545) at java.sql.DriverManager.getConnection(DriverManager.java:171) at com.hp.hpl.jena.db.DBConnection.getConnection(DBConnection.java:122) at com.hp.hpl.jena.db.DBConnection.getDriver(DBConnection.java:283) at com.hp.hpl.jena.db.DBConnection.containsModel(DBConnection.java:226) at com.hp.hpl.jena.db.impl.GraphRDBMaker.hasGraph(GraphRDBMaker.java:144) at com.hp.hpl.jena.db.impl.GraphRDBMaker.createGraph(GraphRDBMaker.java:106) at com.hp.hpl.jena.rdf.model.impl.ModelMakerImpl.createModel(ModelMakerImpl.java:46) at com.hp.hpl.jena.rdf.model.impl.ModelMakerImpl.createModel(ModelMakerImpl.java:49) at Onto2Database.main(Onto2Database.java:57) com.hp.hpl.jena.db.RDFRDBException: Failure to instantiate DB Driver:MySQL java.sql.SQLException: No suitable driver at com.hp.hpl.jena.db.DBConnection.getDriver(DBConnection.java:296) at com.hp.hpl.jena.db.DBConnection.containsModel(DBConnection.java:226) at com.hp.hpl.jena.db.impl.GraphRDBMaker.hasGraph(GraphRDBMaker.java:144) at com.hp.hpl.jena.db.impl.GraphRDBMaker.createGraph(GraphRDBMaker.java:106) at com.hp.hpl.jena.rdf.model.impl.ModelMakerImpl.createModel(ModelMakerImpl.java:46) at com.hp.hpl.jena.rdf.model.impl.ModelMakerImpl.createModel(ModelMakerImpl.java:49) at Onto2Database.main(Onto2Database.java:57) Caused by: java.sql.SQLException: No suitable driver at java.sql.DriverManager.getConnection(DriverManager.java:545) at java.sql.DriverManager.getConnection(DriverManager.java:171) at com.hp.hpl.jena.db.DBConnection.getConnection(DBConnection.java:122) at com.hp.hpl.jena.db.DBConnection.getDriver(DBConnection.java:283) ... 6 more 我尝试过很多驱动器版本还是会出现这个问题,请帮忙一下。[/size]
|