CowNewSQL 支持直接调用翻译器和JDBC驱动两种使用方式。

  • 直接调用翻译器

首先到CowNewSQL 的网站上下载最新的CowNewSQL,下载完成后解压安装包,将
retrotranslator-runtime-1.0.7.jar、antlr.jar、commons-lang-2.3.jar以及cownewsql.jar加入CLASSPATH ,调用类com.cownew.cownewsql.imsql.common.DialectManager的createTranslator方法创建一个翻译器,然后调用翻译器的translateSQL方法来将标准SQL语句翻译成特定数据库平台的SQL语句。
DialectManager的createTranslator方法接受一个字符串类型的参数来指定目标数据库的类型,目前接受四个值”MSSQLServer”、”MYSQL”、“DB2”和”Oracle”。
由于被翻译的SQL 语句有可能是多句,所以翻译器的translateSQL 方法返回值为字符串数组,每个数据元素表示一个翻译后的语句。

举例:
import com.cownew.cownewsql.imsql.ISQLTranslator;
import com.cownew.cownewsql.imsql.common.DataBaseTypeEnum;
import com.cownew.cownewsql.imsql.common.DialectManager;
import com.cownew.cownewsql.imsql.common.TranslateException;
public class Main
{
  public static void main(String[] args) throws TranslateException
  {
    ISQLTranslator tx = DialectManager.createTranslator(“MYSQL”);
    String[] venderSQLs;
    venderSQLs = tx.translateSQL("select top 10 * from t");
    System.out.println("翻译后的SQL:" + venderSQLs[0]);
  }
}

运行结果:翻译后的SQL:SELECT * FROM t LIMIT 0, 10

  • JDBC驱动方式使用

CowNewSQL提供了以JDBC驱动方式使用的支持(支持最新的JDBC4.0标准)。通过 这种方式用户无需修改系统的任何代码,只要修改原有的JDBC连接字符串就可以轻松的将CowNewSQL 融入系统,使用CowNewSQL 的JDBC 驱动后系统中所有的SQL 语句在送到数据库系统中执行前都将会自动进行翻译。
CowNewSQL的JDBC驱动类为:
com.cownew.cownewsql.imsql.jdbc.DBDriver
连接字符串格式为:
jdbc:cownewsql:目标数据库类型:目标数据库JDBC驱动类:原JDBC连接字符串

使用方式举例:
原有程序连接到Oracle数据库,使用的Oracle驱动类为:
oracle.jdbc.driver.OracleDriver
JDBC连接字符串为:
jdbc:oracle:thin:@192.168.88.128:1521:XE
我们只要将CowNewSQL的Jar包(包括cownewsql***.jar、antlr.jar、commons-lang**.jar、
retrotranslator-runtime**.jar等)加入程序的ClassPath,然后修改使用的数据库驱动为:
com.cownew.cownewsql.imsql.jdbc.DBDriver
然后修改JDBC 连接字符串为:
jdbc:cownewsql:oracle:oracle.jdbc.driver.OracleDriver:jdbc:oracle:thin:@192.168.88.128:1521:XE

使用JDBC驱动方式不仅可以支持直接调用JDBC来进行数据库操作的系统,而且对于通过数据库连接池或者其他JDBC驱动包装方式访问数据库的方式都适合,这样我们无需修改任何代码就将CowNewSQL翻译器轻松的植入系统。

end.