JDBC Checker

From MediaWiki

(Difference between revisions)
Jump to: navigation, search
 
(2 intermediate revisions not shown)
Line 28: Line 28:
   </target>
   </target>
   </project>
   </project>
 +
 +
Possible values of the JDBC URL are: <code>jdbc.driver.OracleDriver</code>, <code>oracle.jdbc.driver.OracleDriver</code>,... in the case of Oracle database or <code>com.mysql.jdbc.Driver</code>,... in the case of MySQL database.
 +
 +
Possible values of the connection URL are: <code>jdbc:oracle:thin:@machine_name:port_number:instance_name</code> for the Orace Type 4 JDBC Driver or <code>jdbc:mysql://host_name:port/dbname</code> for the MySQL Connector/J JDBC Driver.
 +
 +
If <code>ant check</code> command retrieves something like
 +
 +
  [dusan@woodoo jdbc]$ ant check
 +
  Buildfile: build.xml
 +
  check:
 +
        [sql] Executing commands
 +
        [sql] 1 of 1 SQL statements executed successfully
 +
  BUILD SUCCESSFUL
 +
  Total time: 1 second
 +
 +
your JDBC driver is compatible with DB, otherwise it is not and you should change it.
 +
 +
This is the example of <code>build.xml</code> file in the case of Oracle database
 +
 +
  <!-- JDBC Checker                          -->
 +
  <!-- Dusan Vudragovic <dusan@ipb.ac.rs> -->
 +
  <!-- 2008-01-31                            -->
 +
  <project name="JDBC Checker"
 +
            default="check"
 +
            basedir=".">
 +
  <description>
 +
      ANT build file which allows to check compatibility
 +
      between JDBC driver and database.
 +
  </description>
 +
  <target name="check">
 +
          <sql driver="oracle.jdbc.driver.OracleDriver"
 +
            onerror="stop"
 +
            url="jdbc:oracle:thin:@(DESCRIPTION =
 +
            (ADDRESS = (PROTOCOL = TCP)(HOST = lcgr8-v.cern.ch)(PORT = 10121))
 +
            (ADDRESS = (PROTOCOL = TCP)(HOST = lcgr7-v.cern.ch)(PORT = 10121))
 +
            (ADDRESS = (PROTOCOL = TCP)(HOST = lcgr3-v.cern.ch)(PORT = 10121))
 +
            (ADDRESS = (PROTOCOL = TCP)(HOST = lcgr4-v.cern.ch)(PORT = 10121))
 +
            (ADDRESS = (PROTOCOL = TCP)(HOST = lcgr5-v.cern.ch)(PORT = 10121))
 +
            (ADDRESS = (PROTOCOL = TCP)(HOST = lcgr6-v.cern.ch)(PORT = 10121))
 +
            (ADDRESS = (PROTOCOL = TCP)(HOST = lcgr1-v.cern.ch)(PORT = 10121))
 +
            (ADDRESS = (PROTOCOL = TCP)(HOST = lcgr2-v.cern.ch)(PORT = 10121))
 +
            (ENABLE=BROKEN)
 +
            (LOAD_BALANCE = yes)
 +
            (CONNECT_DATA =
 +
            (SERVER = DEDICATED)
 +
            (SERVICE_NAME = lcg_same.cern.ch)
 +
            (FAILOVER_MODE = (TYPE = SELECT)(METHOD = BASIC)(RETRIES = 200)(DELAY = 15))))"
 +
            userid="lcg_same_r"
 +
            password="xxxxxx">
 +
            <classpath>
 +
                  <pathelement path="usr/lib/oracle/xe/app/oracle/product/10.2.0/client/lib/ojdbc14.jar"/>
 +
            </classpath>
 +
            select * from tab;
 +
            </sql>
 +
  </target>
 +
  </project>
 +
 +
This is the example of build.xml file in the case of MySQL database:
 +
 +
  <!-- JDBC Checker                          -->
 +
  <!-- Dusan Vudragovic <dusan@ipb.ac.rs> -->
 +
  <!-- 2008-01-31                            -->
 +
  <project name="JDBC Checker"
 +
            default="check"
 +
            basedir=".">
 +
  <description>
 +
      ANT build file which allows to check compatibility
 +
      between JDBC driver and database.
 +
  </description>
 +
  <target name="check">
 +
            <sql driver="com.mysql.jdbc.Driver"
 +
            onerror="stop"
 +
            url="jdbc:mysql://localhost:3306/mysql"
 +
            userid="root"
 +
            password="xxxxxx">
 +
            <classpath>
 +
              <pathelement path="/usr/share/java/mysql-connector-java-3.1.12.jar"/>
 +
            </classpath>
 +
            desc db;
 +
            </sql>
 +
  </target>
 +
  </project>
 +
 +
Suggestions and comments can be sent to Dusan Vudragovic (dusan at ipb.ac.rs).

Latest revision as of 09:35, 11 February 2008

This is a simple way of checking compatibility between JDBC driver and database with Ant. Ant has integrated support for access to SQL databases which is used by following build file

  [dusan@woodoo JDBCChecker]$ cat build.xml
  <project name="JDBC Checker"
           default="check"
           basedir=".">
  <description>
      ANT build file which allows checking the compatibility 
      between JDBC driver and database.
  </description>
  <target name="check">
        <sql driver="<insert JDBC URL>"
           onerror="stop"
        url="<insert connection URL>"
        userid="<insert user name>"
        password="<insert password>">
        <classpath>
           <pathelement path="<insert path to JDBC driver here>"/>
        </classpath>
        </sql>
  </target>
  </project>

Possible values of the JDBC URL are: jdbc.driver.OracleDriver, oracle.jdbc.driver.OracleDriver,... in the case of Oracle database or com.mysql.jdbc.Driver,... in the case of MySQL database.

Possible values of the connection URL are: jdbc:oracle:thin:@machine_name:port_number:instance_name for the Orace Type 4 JDBC Driver or jdbc:mysql://host_name:port/dbname for the MySQL Connector/J JDBC Driver.

If ant check command retrieves something like

  [dusan@woodoo jdbc]$ ant check
  Buildfile: build.xml
  check:
        [sql] Executing commands
        [sql] 1 of 1 SQL statements executed successfully
  BUILD SUCCESSFUL
  Total time: 1 second

your JDBC driver is compatible with DB, otherwise it is not and you should change it.

This is the example of build.xml file in the case of Oracle database

  <project name="JDBC Checker"
           default="check"
           basedir=".">
  <description>
      ANT build file which allows to check compatibility 
      between JDBC driver and database.
  </description>
  <target name="check">
          <sql driver="oracle.jdbc.driver.OracleDriver"
           onerror="stop"
           url="jdbc:oracle:thin:@(DESCRIPTION =
           (ADDRESS = (PROTOCOL = TCP)(HOST = lcgr8-v.cern.ch)(PORT = 10121))
           (ADDRESS = (PROTOCOL = TCP)(HOST = lcgr7-v.cern.ch)(PORT = 10121))
           (ADDRESS = (PROTOCOL = TCP)(HOST = lcgr3-v.cern.ch)(PORT = 10121))
           (ADDRESS = (PROTOCOL = TCP)(HOST = lcgr4-v.cern.ch)(PORT = 10121))
           (ADDRESS = (PROTOCOL = TCP)(HOST = lcgr5-v.cern.ch)(PORT = 10121))
           (ADDRESS = (PROTOCOL = TCP)(HOST = lcgr6-v.cern.ch)(PORT = 10121))
           (ADDRESS = (PROTOCOL = TCP)(HOST = lcgr1-v.cern.ch)(PORT = 10121))
           (ADDRESS = (PROTOCOL = TCP)(HOST = lcgr2-v.cern.ch)(PORT = 10121))
           (ENABLE=BROKEN)
           (LOAD_BALANCE = yes)
           (CONNECT_DATA =
           (SERVER = DEDICATED)
           (SERVICE_NAME = lcg_same.cern.ch)
           (FAILOVER_MODE = (TYPE = SELECT)(METHOD = BASIC)(RETRIES = 200)(DELAY = 15))))"
           userid="lcg_same_r"
           password="xxxxxx">
           <classpath>
                  <pathelement path="usr/lib/oracle/xe/app/oracle/product/10.2.0/client/lib/ojdbc14.jar"/>
           </classpath>
           select * from tab;
           </sql>
  </target>
  </project>

This is the example of build.xml file in the case of MySQL database:

  <project name="JDBC Checker"
           default="check"
           basedir=".">
  <description>
      ANT build file which allows to check compatibility 
      between JDBC driver and database.
  </description>
  <target name="check">
           <sql driver="com.mysql.jdbc.Driver"
           onerror="stop"
           url="jdbc:mysql://localhost:3306/mysql"
           userid="root"
           password="xxxxxx">
           <classpath>
              <pathelement path="/usr/share/java/mysql-connector-java-3.1.12.jar"/>
           </classpath>
           desc db;
           </sql>
  </target>
  </project>

Suggestions and comments can be sent to Dusan Vudragovic (dusan at ipb.ac.rs).

Personal tools