/** * Loads the driver from the given jar file and registers it with the driver * manager. */ public static final void loadAndRegister(File driverJarFile, String driverClassName) throws Exception { loadAndRegister(new URL("jar:" + driverJarFile.toURI() + "!/"), driverClassName); }
public static final void loadAndRegister(URL driverURL, String driverClassName) throws Exception { URLClassLoader urlCL = new URLClassLoader(new URL[] {driverURL}); Driver driver = (Driver) Class.forName(driverClassName, true, urlCL) .newInstance(); DriverManager.registerDriver(new DriverShim(driver)); }
/** * Loads the driver from the given jar file and registers it with the driver * manager. */ public static final void loadAndRegister(File driverJarFile, String driverClassName) throws Exception { loadAndRegister(new URL("jar:" + driverJarFile.toURI() + "!/"), driverClassName); }
public static final void loadAndRegister(URL driverURL, String driverClassName) throws Exception { URLClassLoader urlCL = new URLClassLoader(new URL[] {driverURL}); Driver driver = (Driver) Class.forName(driverClassName, true, urlCL) .newInstance(); DriverManager.registerDriver(new DriverShim(driver)); }
/** * Command-line test. Dynamically loads the driver given at the command * line, opens a connection, and get the row count of the given table to * prove it worked. Usage: java -cp . DriverShim someDriver.jar * org.SomeDriver jdbcURL name pwd tbl */ public static void main(String[] args) throws Exception { if (args.length == 6) { DriverShim.loadAndRegister(new File(args[0]), args[1]); Connection conn = DriverManager.getConnection(args[2], args[3], args[4]); String tbl = args[5]; PreparedStatement st = conn.prepareStatement("SELECT COUNT(*) FROM ?"); st.setString(1, tbl); ResultSet rs = st.executeQuery(); rs.next(); System.out.println("The " + tbl + " table has " + rs.getInt(1) + " rows."); rs.close(); st.close(); conn.close(); } else { System.out.println("Usage: java -cp . DriverShim someDriver.jar" + " org.SomeDriver jdbcURL name pwd tbl"); System.exit(1); } } }
/** * Command-line test. Dynamically loads the driver given at the command * line, opens a connection, and get the row count of the given table to * prove it worked. Usage: java -cp . DriverShim someDriver.jar * org.SomeDriver jdbcURL name pwd tbl */ public static void main(String[] args) throws Exception { if (args.length == 6) { DriverShim.loadAndRegister(new File(args[0]), args[1]); Connection conn = DriverManager.getConnection(args[2], args[3], args[4]); String tbl = args[5]; PreparedStatement st = conn.prepareStatement("SELECT COUNT(*) FROM ?"); st.setString(1, tbl); ResultSet rs = st.executeQuery(); rs.next(); System.out.println("The " + tbl + " table has " + rs.getInt(1) + " rows."); rs.close(); st.close(); conn.close(); } else { System.out.println("Usage: java -cp . DriverShim someDriver.jar" + " org.SomeDriver jdbcURL name pwd tbl"); System.exit(1); } } }
private Connection getConnection() throws Exception { if (_conn == null) { DriverShim.loadAndRegister(getDriver(), _opts .getValue(InstallOptions.DATABASE_DRIVERCLASS)); _conn = DriverManager.getConnection(_opts .getValue(InstallOptions.DATABASE_JDBCURL), _opts .getValue(InstallOptions.DATABASE_USERNAME), _opts .getValue(InstallOptions.DATABASE_PASSWORD)); } return _conn; }