我连接到数据库与下面的代码的Java:用java连接到数据库而没有外部jar - 有没有这样的事情?
Class.forName(some driver name);
现在,为了它运行我必须包括相关的罐子到构建路径。 我的问题是,是否有一个驱动程序(可能内置在sdk/jre中)不需要包含jar?
谢谢
我连接到数据库与下面的代码的Java:用java连接到数据库而没有外部jar - 有没有这样的事情?
Class.forName(some driver name);
现在,为了它运行我必须包括相关的罐子到构建路径。 我的问题是,是否有一个驱动程序(可能内置在sdk/jre中)不需要包含jar?
谢谢
唯一的JDBC驱动程序提供内置到Oracle的Java JRE 6是JDBC-ODBC bridge。但是,不建议使用它。
对于任何其他DBMS,您需要一个正确的JDBC驱动程序JAR。
这是不可能与之连接的任何驱动程序,因为驱动程序的工作作为一个桥梁来连接我们的数据库服务器
可能的解决方案的应用:在您的罐子连接器罐子,它解压在运行和使用URLClassLoader
来加载驱动。
MSSQL司机的完全抽象的调用示例:
URLClassLoader cl = ...; // create and initialize URLClassLoader
Class c = cl.loadClass("com.microsoft.sqlserver.jdbc.SQLServerDataSource").newInstance().getClass();
c.getMethod("setUser", String.class).invoke(o, connectionParameters.user);
c.getMethod("setPassword", String.class).invoke(o, connectionParameters.password);
c.getMethod("setServerName", String.class).invoke(o, connectionParameters.serverName);
c.getMethod("setDatabaseName", String.class).invoke(o, connectionParameters.databaseName);
return (Connection) c.getMethod("getConnection").invoke(o);
它使用MS-驱动程序特定的方法,但不要求驾驶员在你的类路径中。