sql >> Databáze >  >> RDS >> Oracle

Používáte více ovladačů Oracle JDBC v jedné aplikaci Java?

Pokud ovladače nezaregistrujete, vyhnete se jejich načtení stejným classloaderem.

Poté můžete vytvořit připojení pomocí dvou různých ovladačů jejich načtením prostřednictvím samostatných classloaderů:

// Oracle 8 connection
File jar = new File("/path/to/oracle8.jar");
URL[] cp = new URL[1];
cp[0] = jar.toURI().toURL();
URLClassLoader ora8loader = new URLClassLoader(cp, ClassLoader.getSystemClassLoader());
Class drvClass = ora8loader.loadClass("oracle.jdbc.driver.OracleDriver");
Driver ora8driver = (Driver)drvClass.newInstance();

Properties props = new Properties();
// "user" instead of "username"
props.setProperty("user", "my-user");
props.setProperty("password", "my-password");
Connection ora8conn = ora8driver.connect("jdbc:oracle:thin:@some-oracle-8-server:port:sid",props);

Poté proveďte totéž pro ovladač Oracle 12.

Možná také mít možnost stále používat "jiný" ovladač prostřednictvím DriverManager , ale tím si nejsem jistý.

Existují některé okrajové případy, kdy je přístup ke specifickým třídám Oracle trochu komplikovaný, ale obecně můžete spojení vytvořená tímto způsobem používat bez problémů.



  1. Jaký je maximální počet povolených parametrů na typ poskytovatele databáze?

  2. SQL Třídící tabulka založená na dvou zaměnitelných polích

  3. SQL příkaz není správně ukončen?

  4. mysqldump celou strukturu, ale pouze data z vybraných tabulek v jediném příkazu